チュートリアル : 管理タスクのスケジュール設定
新規 : 2006 年 7 月 17 日
Microsoft SQL Server の SQL Server エージェント コンポーネントを使用すると、SQL Server 2005 Analysis Services (SSAS) 管理タスクが必要な順番と必要な回数に従って実行されるようにスケジュール設定できます。
このチュートリアルで説明する作業は次のとおりです。
- Analysis Services インスタンスでタスクから XMLA スクリプトを作成する。
- SQL Server のインスタンスでジョブを作成し、ジョブ ステップ内に XMLA スクリプトを埋め込む。
- ジョブの実行スケジュールを設定する。
前提条件
このチュートリアルを完了するには、次のものが必要です。
- SQL Server 2005
- SQL Server 2005 Analysis Services (SSAS)
- Analysis Services Tutorial プロジェクトのサンプル
Analysis Services Tutorial プロジェクトは、Microsoft ダウンロード サイトから入手できる SQL Server サンプルに含まれています。詳細については、「サンプルのインストール」の「サンプルの最新版の入手」を参照してください。
Analysis Services の定期タスクを作成するには SQL Server Management Studio でいくつかの手順を実行する必要があるので、レッスン 3 が終了した時点の Analysis Services Tutorial プロジェクトが必要になります。以下の手順では、このチュートリアル用に Analysis Services Tutorial プロジェクトを準備をする方法について説明します。Analysis Services Tutorial の詳細については、「SQL Server 2005 Analysis Services のチュートリアル」を参照してください。
メモ : |
---|
Analysis Services Tutorial プロジェクトは、実稼動システムではなく、テスト サーバーに配置して処理する必要があります。 |
レッスン 3 の Analysis Services Tutorial プロジェクトを開いて、配置および処理するには
[スタート] ボタンをクリックし、[すべてのプログラム]、[Microsoft SQL Server 2005] の順にポイントして、[SQL Server Business Intelligence Development Studio] をクリックします。
Microsoft Visual Studio 2005 の開発環境が開きます。
[スタート ページ] タブを閉じます。Visual Studio の [ファイル] メニューの [開く] をポイントし、[プロジェクト/ソリューション] をクリックします。
C:\Program Files\Microsoft SQL Server\90\Samples\Analysis Services\Tutorials\Lesson3 Complete を開き、Analysis Services Tutorial.sln をダブルクリックします。
ソリューション エクスプローラに、1 つのキューブと 3 つのディメンションが表示されます。
ソリューション エクスプローラで、[Analysis Services Tutorial] という最上位ノードを右クリックし、[配置] をクリックします。
この手順では、プロジェクトが Analysis Services データベースとして Analysis Services インスタンスに配置された後、そのデータベースが処理されます。既定では、配置プロセスは既定の Analysis Services インスタンスを対象とします。コンピュータに格納されているのが Analysis Services の名前付きインスタンスのみである場合は、プロジェクトの配置プロパティを変更しないと、配置が失敗します。詳細については、「Analysis Services プロジェクトの配置」を参照してください。
次の手順では、SQL Server Management Studio を開きます。ここでは、上記の手順で作成した Analysis Services データベースが公開されます。
[スタート] ボタンをクリックし、[すべてのプログラム]、[Microsoft SQL Server 2005] の順にポイントし、[SQL Server Management Studio] をクリックします。
[サーバーへの接続] ダイアログ ボックスで、[サーバーの種類] ボックスの [Analysis Services] を選択します。[サーバー名] ボックスで、プロジェクトが配置されたインスタンスを選択して、[接続] をクリックします。
オブジェクト エクスプローラで、[データベース] を展開します。
Analysis Services Tutorial データベースが表示されます。これで、次のセクションに示す手順を開始する準備ができました。
例
ほとんどの Analysis Services 管理タスクは、SQL Server エージェントを使用して自動化できます。ディメンションの処理およびディメンションとパーティションのバッチ処理の手順を以下に示します。これらの手順をテスト環境で実行するには、最初に、このトピックの「前提条件」にある手順を完了してください。
A. 定期タスクでのディメンションの処理
次の手順を使用して、Analysis Services データベース ディメンションを処理するジョブの作成およびスケジュール設定を行います。
ジョブで使用するスクリプトを作成するには
Analysis Services Tutorial データベースを使用する場合、[ディメンション] を展開し、[Time] を右クリックして、[処理] をクリックします。
[ディメンションの処理] ダイアログ ボックスにある [オブジェクト一覧] ボックスの [処理オプション] 列で、この列のオプションが [完全処理] であることを確認します。別のオプションが設定されている場合、[処理オプション] 列のオプションをクリックし、表示される一覧から [完全処理] を選択します。
[スクリプト] をクリックします。
この手順により、XML クエリ ウィンドウが表示され、そのウィンドウにディメンション処理用の XMLA スクリプトが表示されます。
[キャンセル] をクリックします。
XMLA クエリ ウィンドウで、XMLA スクリプトを選択して強調表示し、強調表示されたスクリプトを右クリックして、[コピー] をクリックします。
この手順により、XMLA スクリプトが Windows クリップボードにコピーされます。XMLA スクリプトをクリップボードに残しておくこともできますし、メモ帳などのテキスト エディタに貼り付けることもできます。XMLA スクリプトの例を次に示します。
<Batch xmlns="https://schemas.microsoft.com/analysisservices/2003/engine">
<Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Object>
<DatabaseID>Analysis Services Tutorial</DatabaseID>
<DimensionID>Time</DimensionID>
</Object>
<Type>ProcessUpdate</Type>
<WriteBackTableCreation>UseExisting</WriteBackTableCreation>
</Process>
</Batch>
処理ジョブを作成してスケジュールを設定するには
SQL Server 2005 のインスタンスに接続してから、オブジェクト エクスプローラに接続します。
[SQL Server エージェント] を展開します。
[ジョブ] を右クリックし、[新しいジョブ] をクリックします。
[新しいジョブ] ダイアログ ボックスで、[名前] ボックスにジョブ名を入力します。
[ページの選択] で、[ステップ] を選択して、[新規作成] をクリックします。
[新しいジョブ ステップ] ダイアログ ボックスで、[ステップ名] ボックスにステップ名を入力します。
[サーバー] ボックスに、Analysis Services の既定のインスタンスの場合は「localhost」、名前付きインスタンスの場合は「localhost\<instance name>」と入力します。
リモート コンピュータから実行する場合は、ジョブを実行するサーバー名とインスタンス名を使用します。既定のインスタンスの場合は <server name> 形式を使用します。名前付きインスタンスの場合は <server name>\<instance name> 形式を使用します。
[種類] ボックスで、[SQL Server Analysis Services コマンド] を選択します。
[コマンド] ボックスで、右クリックして [貼り付け] をクリックします。
[OK] をクリックします。
[ページの選択] で、[スケジュール] をクリックし、[新規作成] をクリックします。
[新しいジョブ スケジュール] ダイアログ ボックスで、[名前] ボックスにスケジュール名を入力し、[OK] をクリックします。
ここでは、日曜日の 12:00 AM のスケジュールを作成します。次の手順は、ジョブを手動で実行する方法を示しています。また、ジョブを監視しているときに、ジョブを実行するスケジュールを選択することもできます。
[新しいジョブ] ダイアログ ボックスで、[OK] をクリックします。
オブジェクト エクスプローラで、[ジョブ] を展開し、作成したジョブを右クリックして、[ステップでジョブを開始] をクリックします。
このジョブには 1 つしかステップが含まれていないため、ジョブはすぐに実行されます。ジョブに複数のステップが含まれている場合は、ジョブを開始するステップを選択できます。
ジョブが完成したら、[閉じる] をクリックします。
B. 定期タスクでのディメンションとパーティションのバッチ処理
次の手順を使用して、Analysis Services データベース ディメンションと、その集計用ディメンションに依存するキューブ パーティションの両方をバッチ処理するジョブの作成とスケジュール設定を行います。Analysis Services オブジェクトのバッチ処理の詳細については、「Analysis Services でのバッチ処理」を参照してください。
ジョブで使用するスクリプトを作成するには
Analysis Services Tutorial データベースを使用する場合、[ディメンション] を展開し、[Time] を右クリックして、[処理] をクリックします。
[ディメンションの処理] ダイアログ ボックスにある [オブジェクト一覧] ボックスの [処理オプション] 列で、この列のオプションが [完全処理] であることを確認します。別のオプションが設定されている場合、[処理オプション] 列のオプションをクリックし、表示される一覧から [完全処理] を選択します。
[スクリプト] をクリックします。
この手順により、XML クエリ ウィンドウが表示され、そのウィンドウにディメンション処理用の XMLA スクリプトが表示されます。
[キャンセル] をクリックします。
[キューブ]、[Analysis Services Tutorial]、[メジャー グループ]、[Internet Sales]、[パーティション] の順に展開し、[Internet Sales] を右クリックして、[処理] をクリックします。
[パーティションの処理] ダイアログ ボックスにある [オブジェクト一覧] ボックスの [処理オプション] 列で、この列のオプションが [完全処理] であることを確認します。別のオプションが設定されている場合、[処理オプション] 列のオプションをクリックし、表示される一覧から [完全処理] を選択します。
[スクリプト] をクリックします。
この手順により、2 つ目の XML クエリ ウィンドウが表示され、そのウィンドウにパーティション処理用の XMLA スクリプトが表示されます。
[キャンセル] をクリックします。
この時点で、2 つのスクリプトを、最初に行われるディメンション処理とマージする必要があります。パーティションが最初に処理されると、後続のディメンション処理によって、パーティションが未処理の状態になります。パーティションは、処理済みの状態になるように 2 番目に処理する必要があります。
パーティション処理用の XMLA スクリプトが表示される XMLA クエリ ウィンドウで、
Batch
タグ内のコードを選択して強調表示し、強調表示されたスクリプトを右クリックして、[コピー] をクリックします。
<Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Object>
<DatabaseID>Analysis Services Tutorial</DatabaseID>
<CubeID>Adventure Works DW</CubeID>
<MeasureGroupID>Internet Sales</MeasureGroupID>
<PartitionID>Internet Sales</PartitionID>
</Object>
<Type>ProcessFull</Type>
<WriteBackTableCreation>UseExisting</WriteBackTableCreation>
</Process>
- ディメンション処理用の XMLA スクリプトが表示されている XMLA クエリ ウィンドウを開きます。
</Batch>
タグの左側を右クリックし、[貼り付け] をクリックします。
変更済みの XMLA スクリプトの例を次に示します。
<Batch xmlns="https://schemas.microsoft.com/analysisservices/2003/engine">
<Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Object>
<DatabaseID>Analysis Services Tutorial</DatabaseID>
<DimensionID>Time</DimensionID>
</Object>
<Type>ProcessUpdate</Type>
<WriteBackTableCreation>UseExisting</WriteBackTableCreation>
</Process>
<Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Object>
<DatabaseID>Analysis Services Tutorial</DatabaseID>
<CubeID>Adventure Works DW</CubeID>
<MeasureGroupID>Internet Sales</MeasureGroupID>
<PartitionID>Internet Sales</PartitionID>
</Object>
<Type>ProcessFull</Type>
<WriteBackTableCreation>UseExisting</WriteBackTableCreation>
</Process>
</Batch>
- 変更済みの XMLA スクリプトを選択して強調表示し、強調表示されたスクリプトを右クリックして、[コピー] をクリックします。
この手順により、XMLA スクリプトが Windows クリップボードにコピーされます。XMLA スクリプトをクリップボードに残しておくこともできますし、メモ帳などのテキスト エディタに貼り付けることもできます。
処理ジョブを作成してスケジュールを設定するには
SQL Server 2005 のインスタンスに接続してから、オブジェクト エクスプローラに接続します。
[SQL Server エージェント] を展開します。
[ジョブ] を右クリックし、[新しいジョブ] をクリックします。
[新しいジョブ] ダイアログ ボックスで、[名前] ボックスにジョブ名を入力します。
[ページの選択] で、[ステップ] を選択して、[新規作成] をクリックします。
[新しいジョブ ステップ] ダイアログ ボックスで、[ステップ名] ボックスにステップ名を入力します。
[サーバー] ボックスに、Analysis Services の既定のインスタンスの場合は「localhost」、名前付きインスタンスの場合は「localhost\<instance name>」と入力します。
リモート コンピュータから実行する場合は、ジョブを実行するサーバー名とインスタンス名を使用します。既定のインスタンスの場合は <server name> 形式を使用します。名前付きインスタンスの場合は <server name>\<instance name> 形式を使用します。
[種類] ボックスで、[SQL Server Analysis Services コマンド] を選択します。
[コマンド] ボックスで、右クリックして [貼り付け] をクリックします。
[OK] をクリックします。
[ページの選択] で、[スケジュール] をクリックし、[新規作成] をクリックします。
[新しいジョブ スケジュール] ダイアログ ボックスで、[名前] ボックスにスケジュール名を入力し、[OK] をクリックします。
ここでは、日曜日の 12:00 AM のスケジュールを作成します。次の手順は、ジョブを手動で実行する方法を示しています。また、ジョブを監視しているときに、ジョブを実行するスケジュールを選択することもできます。
[新しいジョブ] ダイアログ ボックスで、[OK] をクリックします。
オブジェクト エクスプローラで、[ジョブ] を展開し、作成したジョブを右クリックして、[ステップでジョブを開始] をクリックします。
このジョブには 1 つしかステップが含まれていないため、ジョブはすぐに実行されます。ジョブに複数のステップが含まれている場合は、ジョブを開始するステップを選択できます。
ジョブが完成したら、[閉じる] をクリックします。
参照
概念
Analysis Services の管理タスクの自動化
SQL Server エージェントを使用した管理タスクのスケジュール設定