Analysis Services では、Batch コマンドを使用して、1 つの要求で複数の処理コマンドをサーバーに送信できます。 バッチ処理を使用すると、処理するオブジェクトと順序を制御できます。 また、バッチは、一連のスタンドアロン ジョブとして、または 1 つのプロセスの失敗によって完全なバッチのロールバックが発生するトランザクションとして実行できます。
バッチ処理では、変更のコミットにかかる時間を統合して減らすことで、データの可用性が最大化されます。 ディメンションを完全に処理すると、そのディメンションを使用するすべてのパーティションが未処理としてマークされます。 その結果、未処理のパーティションを含むキューブは参照できません。 これは、影響を受けるパーティションと共にディメンションを処理することで、バッチ処理ジョブで対処できます。 バッチ処理ジョブをトランザクションとして実行すると、すべての処理が完了するまで、トランザクションに含まれるすべてのオブジェクトをクエリで使用できます。 トランザクションが変更をコミットすると、影響を受けるオブジェクトにロックが適用され、オブジェクトは一時的に使用できなくなりますが、変更のコミットに使用される全体的な時間は、オブジェクトを個別に処理した場合よりも短くなります。
このトピックの手順では、ディメンションとパーティションを完全に処理する手順を示します。 バッチ処理には、増分処理などの他の処理オプションを含めることもできます。 これらの手順を正しく機能させるには、少なくとも 2 つのディメンションと 1 つのパーティションを含む既存の Analysis Services データベースを使用する必要があります。
このトピックのセクションは次のとおりです。
Management Studio での XMLA を使用したバッチ処理
SQL Server データ ツールでのバッチ処理
SQL Server Data Tools でオブジェクトを処理するには、そのオブジェクトを含むプロジェクトを配置する必要があります。 詳細については、「 Analysis Services プロジェクトの配置 (SSDT)」を参照してください。
SQL Server Data Tools を開きます。
配置されたプロジェクトを開きます。
ソリューション エクスプローラーで、配置されたプロジェクトの下にある [ディメンション] フォルダーを展開します。
Ctrl キーを押しながら、[ディメンション] フォルダーに一覧表示されている各 ディメンションを クリックします。
選択したディメンションを右クリックし、[ 処理] をクリックします。
Ctrl キーを押しながら、[ オブジェクト]リストに表示されている各寸法をクリックします。
選択したディメンションを右クリックし、[ フル処理] を選択します。
バッチ 処理ジョブをカスタマイズするには、[設定の変更] をクリックします。
[ 処理オプション] で、次の設定をマークします。
処理順序 は シーケンシャルに設定され、 トランザクション モード は 1 つのトランザクションに設定されます。
[書き戻しテーブル オプション ] が [ 既存のものを使用] に設定されている。
[ 影響を受けるオブジェクト]で、[ 影響を受けるオブジェクトを処理 ]チェック ボックスをオンにします。
[ ディメンション キーエラー ] タブをクリックします。 [既定のエラー構成を使用 する] が選択されていることを確認します。
[ OK] を クリックして [設定の変更] 画面を閉じます。
処理ジョブを開始するには、[処理オブジェクト] 画面で [実行] をクリックします。
[状態] ボックスに [プロセスが成功しました] と表示されたら、[閉じる] をクリックします。
[プロセスオブジェクト]画面で[閉じる]をクリックします。
Management Studio での XMLA を使用したバッチ処理
バッチ処理を実行する XMLA スクリプトを作成できます。 まず、Management Studio でオブジェクトごとに XMLA スクリプトを生成し、それらを組み合わせて、対話形式またはスケジュールされたタスク内で実行する 1 つの XMLA クエリにします。
詳細な手順については、「SQL Server エージェントを使用して SSAS 管理タスクをスケジュールする」の例 2 を参照してください。