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