Analysis Services ジョブ ステップの作成
このトピックでは、SQL Server Management Studio、Transact-SQL、または SQL Server 管理オブジェクトを使用して、SQL Server 2012 で SQL Server Analysis Services のコマンドとクエリを実行する SQL Server エージェント ジョブ ステップの作成と定義方法について説明します。
作業を開始する準備:
制限事項と制約事項
セキュリティ
Analysis Services コマンドまたはクエリを使用する SQL Server ジョブ ステップを作成する方法:
SQL Server Management Studio
Transact-SQL
SQL Server 管理オブジェクト
作業を開始する準備
制限事項と制約事項
ジョブ ステップで Analysis Services コマンドを使用する場合、コマンド ステートメントは XML for Analysis Services の Execute メソッドである必要があります。 ステートメントには、完全な SOAP (Simple Object Access Protocol) エンベロープまたは XML for Analysis の Discover メソッドを含めることはできません。 完全な SOAP エンベロープと Discover メソッドは、SQL Server Management Studio ではサポートされていますが、SQL Server エージェント ジョブ ステップではサポートされていません。 XML for Analysis Services の詳細については、「XML for Analysis の概要 (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 エージェントのセキュリティの実装」を参照してください。
[Top]
SQL Server Management Studio の使用
Analysis Services コマンド ジョブ ステップを作成するには
オブジェクト エクスプローラーで、SQL Server データベース エンジンのインスタンスに接続し、そのインスタンスを展開します。
[SQL Server エージェント] を展開し、新しいジョブを作成するか、既存のジョブを右クリックして [プロパティ] をクリックします。 ジョブを作成する方法の詳細については、「ジョブの作成」を参照してください。
[ジョブのプロパティ] ダイアログ ボックスで [ステップ] タブをクリックし、[新規作成] をクリックします。
[新しいジョブ ステップ] ダイアログ ボックスで、ジョブの [ステップ名] を入力します。
[種類] ボックスの一覧で、[SQL Server Analysis Services コマンド] をクリックします。
[実行するアカウント名] ボックスの一覧で、その Analysis Services コマンド サブシステムを使用するように定義済みのプロキシを選択します。 ユーザーが sysadmin 固定サーバー ロールのメンバーである場合は、[SQL エージェント サービスのアカウント] を使用してこのジョブ ステップを実行することもできます。
[サーバー] でジョブ ステップを実行するサーバーを選択するか、サーバー名を入力します。
実行するステートメントを [コマンド] ボックスに入力します。または、[開く] をクリックしてステートメントを選択します。
[詳細設定] ページをクリックして、ジョブ ステップが成功または失敗した場合に SQL Server エージェントが実行するアクション、ジョブ ステップの試行回数、ジョブ ステップ出力の出力先など、このジョブ ステップに関するさまざまなオプションを定義します。
[Top]
Analysis Services クエリ ジョブ ステップを作成するには
オブジェクト エクスプローラーで、SQL Server データベース エンジンのインスタンスに接続し、そのインスタンスを展開します。
[SQL Server エージェント] を展開し、新しいジョブを作成するか、既存のジョブを右クリックして [プロパティ] をクリックします。 ジョブを作成する方法の詳細については、「ジョブの作成」を参照してください。
[ジョブのプロパティ] ダイアログで [ステップ] ページをクリックし、[新規作成] をクリックします。
[新しいジョブ ステップ] ダイアログの [ステップ名] ボックスにジョブ ステップ名を入力します。
[種類] ボックスの一覧で、[SQL Server Analysis Services クエリ] をクリックします。
[実行するアカウント名] ボックスの一覧で、その Analysis Services クエリ サブシステムを使用するように定義済みのプロキシを選択します。 ユーザーが sysadmin 固定サーバー ロールのメンバーである場合は、[SQL エージェント サービスのアカウント] を使用してこのジョブ ステップを実行することもできます。
[サーバー] および [データベース] で、ジョブ ステップを実行するサーバーとデータベースを選択するか、サーバー名またはデータベース名を直接入力します。
実行するステートメントを [コマンド] ボックスに入力します。または、[開く] をクリックしてステートメントを選択します。
[詳細設定] ページをクリックして、ジョブ ステップが成功または失敗した場合に SQL Server エージェントが実行するアクション、ジョブ ステップの試行回数、ジョブ ステップ出力の出力先など、このジョブ ステップに関するさまざまなオプションを定義します。
[Top]
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)」を参照してください。
[Top]
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)」を参照してください。
[Top]
SQL Server 管理オブジェクトの使用
PowerShell スクリプト ジョブ ステップを作成するには
選択した XMLA や MDX などのプログラミング言語で、JobStep クラスを使用します。 詳細については、「SQL Server 管理オブジェクト (SMO)」を参照してください。
[Top]