このトピックでは、SQL Server Management Studio、Transact-SQL、または SQL Server 管理オブジェクトを使用して SQL Server Analysis Services のコマンドとクエリを実行する SQL Server 2014 の SQL Server エージェント ジョブ ステップを作成および定義する方法について説明します。
作業を開始する準備:
Analysis Services コマンドやクエリを使用して SQL Server ジョブ ステップを作成するには、次のコマンドを使用
開始する前に
制限事項と制約条件
ジョブ ステップで Analysis Services コマンドを使用する場合、コマンド ステートメントは Analysis Services Execute メソッドの XML である必要があります。 ステートメントには、完全な簡易オブジェクト アクセス プロトコル (SOAP) エンベロープまたは分析用 XML Discover メソッドが含まれていない場合があります。 SQL Server Management Studio では完全な SOAP エンベロープと Discover メソッドがサポートされていますが、SQL Server エージェントのジョブ ステップではサポートされません。 Analysis Services の XML に関する詳細は、「XML for Analysis Overview (XMLA)」を参照してください。
ジョブ ステップで Analysis Services クエリを使用する場合、クエリ ステートメントは多次元式 (MDX) クエリである必要があります。 MDX の詳細については、「 MDX クエリの基礎 (Analysis Services)」を参照してください。
安全
権限
Analysis Services サブシステムを使用するジョブ ステップを実行するには、ユーザーが固定サーバー ロール sysadmin のメンバーであるか、このサブシステムを使用するように定義された有効なプロキシ アカウントにアクセスできる必要があります。 さらに、SQL Server エージェント サービス アカウントまたはプロキシは、Analysis Services 管理者であり、有効な Windows ドメイン アカウントである必要があります。
ジョブ ステップの出力をファイルに書き込むことができるのは、sysadmin 固定サーバー ロールのメンバーだけです。 msdb データベースの SQLAgentUserRole データベース ロールのメンバーであるユーザーがジョブ ステップを実行する場合、出力はテーブルにのみ書き込むことができます。 SQL Server エージェントは、msdb データベースの sysjobstepslog テーブルにジョブ ステップ出力を書き込みます。
詳細については、「SQL Server エージェント セキュリティの実装」を参照してください。
SQL Server Management Studio の使用
Analysis Services コマンド ジョブ ステップを作成するには
オブジェクト エクスプローラーで、SQL Server データベース エンジンのインスタンスに接続 し、そのインスタンスを展開します。
SQL Server エージェント を展開し、新しいジョブを作成するか、既存のジョブを右クリックして、[プロパティ] を選択します。 ジョブを作成するには、ジョブを作成を参照してください。
[ジョブのプロパティ ] ダイアログ ボックスで、[ステップ] ページを選び、次に[新規 ] をクリックします。
[新しいジョブ ステップ ] ダイアログ ボックスで、ジョブ ステップ名入力します。
[種類] の一覧で、[SQL Server Analysis Services コマンド] をクリックします。
[として実行] の選択リストで、Analysis Services コマンド サブシステムを使用するように定義されたプロキシを選択します。 sysadmin 固定サーバー ロールのメンバーであるユーザーは、SQL エージェント サービス アカウント 選択して、このジョブ ステップを実行することもできます。
ジョブ ステップを実行する サーバー を選択するか、サーバー名を入力します。
[コマンド] ボックスに、実行するステートメントを入力するか、[ 開く] をクリックしてステートメントを選択します。
[詳細] ページをクリックして、ジョブ ステップが成功または失敗した場合に SQL Server エージェントが実行するアクション、ジョブ ステップの試行回数、ジョブ ステップの出力を書き込む場所など、このジョブ ステップのオプションを定義します。
Analysis Services クエリ ジョブ ステップを作成するには
オブジェクト エクスプローラーで、SQL Server データベース エンジンのインスタンスに接続 し、そのインスタンスを展開します。
SQL Server エージェント を展開し、新しいジョブを作成するか、既存のジョブを右クリックして、[プロパティ] を選択します。 ジョブを作成するには、ジョブを作成を参照してください。
[ジョブのプロパティの ] ダイアログ ボックスで、[ステップ] ページをクリックし、[新しい ] をクリックします。
新しいジョブ ステップ ダイアログで、ジョブ ステップ名 を入力します。
[の種類] の一覧で、[SQL Server Analysis Services クエリ ] をクリックします。
[実行] リストで、Analysis Services クエリ サブシステム用に定義されたプロキシを選択します。 sysadmin 固定サーバー ロールのメンバーであるユーザーは、SQL エージェント サービス アカウント 選択して、このジョブ ステップを実行することもできます。
サーバー とジョブ ステップを実行する データベース を選択するか、サーバーまたはデータベース名を入力します。
[コマンド] ボックスに、実行するステートメントを入力するか、[ 開く] をクリックしてステートメントを選択します。
[詳細] ページをクリックして、ジョブ ステップが成功または失敗した場合に SQL Server エージェントが実行するアクション、ジョブ ステップの試行回数、ジョブ ステップの出力を書き込む場所など、このジョブ ステップのオプションを定義します。
Transact-SQL の使用
Analysis Services コマンド ジョブ ステップを作成するには
オブジェクト エクスプローラーで、 データベース エンジンのインスタンスに接続します。
標準バーで [新しいクエリ] をクリックします。
次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。
-- Creates a job step that uses XMLA to create a relational data source that references the AdventureWorks2012 Microsoft SQL Server database USE msdb; GO EXEC sp_add_jobstep @job_name = N'Weekly Sales Data Backup', @step_name = N'Create a relational data source that references the AdventureWorks2012 Microsoft SQL Server database ', @subsystem = N'ANALYSISCOMMAND', @command = N' <Create xmlns="https://schemas.microsoft.com/analysisservices/2003/engine"> <ParentObject> <DatabaseID>AdventureWorks2012</DatabaseID> </ParentObject> <ObjectDefinition> <DataSource xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="RelationalDataSource"> <ID>AdventureWorks2012</ID> <Name>Adventure Works 2012</Name> <ConnectionString>Data Source=localhost;Initial Catalog=AdventureWorks2012;Integrated Security=True</ConnectionString> <ImpersonationInfo> <ImpersonationMode>ImpersonateServiceAccount</ImpersonationMode> </ImpersonationInfo> <ManagedProvider>System.Data.SqlClient</ManagedProvider> <Timeout>PT0S</Timeout> </DataSource> </ObjectDefinition> </Create>', ; GO
詳細については、sp_add_jobstep (Transact-SQL)を参照してください。
Analysis Services クエリ ジョブ ステップを作成するには
オブジェクト エクスプローラーで、 データベース エンジンのインスタンスに接続します。
標準バーで [新しいクエリ] をクリックします。
次の例をコピーしてクエリ ウィンドウに貼り付け、 [実行] をクリックします。
-- Creates a job step that uses MDX to return data USE msdb; GO EXEC sp_add_jobstep @job_name = N'Weekly Sales Data Backup', @step_name = N'Returns the Internet sales amount by state', @subsystem = N'ANALYSISQUERY', @command = N' SELECT [Measures].[Internet Sales Amount] ON COLUMNS, [Customer].[State-Province].Members ON ROWS FROM [AdventureWorks2012]', @retry_attempts = 5, @retry_interval = 5 ; GO
詳細については、sp_add_jobstep (Transact-SQL)を参照してください。
SQL Server 管理オブジェクトの使用
PowerShell スクリプト ジョブ ステップを作成するには
XMLA や MDX など、選択したプログラミング言語を使用して、 JobStep クラスを使用します。 詳細については、「SQL Server 管理オブジェクト (SMO)を参照してください。