2

SQL Server Analysis Service ( SSAS ) キューブ ( BIDS 2012で開発)があり、ユーザー ( PowerPivotを介してキューブを使用する) がローカル コンピューターでキューブを処理できるようにしたいと考えています。

Powershell、SQLエージェント、またはSSISを介してサーバー上でスケジュールされたジョブを作成する方法に関する資料を見つけましたが、キューブをリモートで処理するための資料は見つかりませんでした. 何かアドバイス?

4

1 に答える 1

4

キューブ処理をトリガーするには、いくつかの可能性があります。低レベルのメソッドは、キューブを含むデータベースに XMLA ステートメントを発行しています。これがどのように表示されるかを確認するには、SQL Server Management Studio を開き、AS インスタンスに接続し、AS データベースを右クリックして [プロセス] を選択します。処理設定を構成しますが、[OK] をクリックする代わりに、上部のツールバーから [スクリプト] を選択して、XMLA 処理コマンドを生成します。[キャンセル] をクリックしてダイアログを終了します。キューブを処理するすべてのメソッドは、何らかの方法で送信時に終了します。このようなコマンドを AS データベースに送信します。

キューブ処理をトリガーするには、いくつかのオプションがあります。

  • Management Studio で、上記のダイアログで [OK] をクリックします。
  • PowerShell ( http://technet.microsoft.com/en-us/library/hh510171.aspxを参照)。
  • Integration Services には、Analysis Services 処理タスクがあります ( http://msdn.microsoft.com/en-us/library/ms141779.aspx )。
  • SQL Server エージェント ジョブを設定できます。ジョブ ステップは、直接の XMLA ステップ、またはプロセス タスクを含む Integration Services ステップのいずれかです (他のタスクの中でも)。

ただし、問題は、エンド ユーザーが上記の設定にどのようにアクセスできるかです。ここでの重要な問題は、プロセス タスクを実行するユーザーがキューブを処理する権限を持っている必要があることです。このアクセス許可を直接付与したくない場合があるため、呼び出しの途中で偽装を使用することが理にかなっている場合があります。Management Studio では、PowerShell で私が知る限り、これは簡単には実現できません。

統合サービスとエージェント ジョブは、なりすましの可能性を提供します。Integration Services パッケージは、dtexec コマンド ライン ツール (SQL Server クライアント ツールの一部) によって実行されます。また、dtexecui というツールもあります (標準の SQL Server クライアント ツール インストールで「パッケージ実行ユーティリティ」として利用可能)。すべての設定を構成してからパッケージを実行するためのダイアログですが、設定に応じて dtexec のコマンド ラインを表示することもできます。

また、SQL Server エージェント ジョブを呼び出すための簡単なインターフェイスは、ストアド プロシージャ ( http://msdn.microsoft.com/en-us/library/ms187763.aspx ) です。特にsp_start_job(これは非同期であることに注意してください。ジョブを開始して戻ります。ジョブが完了するのを待たずに戻ります。)sp_help_jobactivityジョブのステータスとsp_help_jobhistory実行中のジョブの詳細を尋ねます。

全体として、利用可能な最終的なソリューションはないと思いますが、環境の好みに応じて、独自のソリューションをコーディングするために使用できるいくつかのビルディング ブロックについて言及しました。

于 2013-11-22T18:22:51.097 に答える