Analysis Services オブジェクトの処理

管理者は、実稼働データベース内の Microsoft SQL Server Analysis Services オブジェクトを処理して、最新の状態で維持します。このオブジェクト処理には、リレーショナル データ ソースのデータを Analysis Services オブジェクトに設定するための 1 つまたは複数の手順が含まれます。処理内容は、オブジェクトの種類や選択した処理オプションによって異なります。

処理ジョブの実行中は、クエリを実行するために、影響を受ける Analysis Services オブジェクトにアクセスできます。処理ジョブはトランザクション内で実行され、そのトランザクションはコミットまたはロールバックできます。処理ジョブが失敗すると、トランザクションはロールバックされます。処理ジョブが成功すると、変更がコミットされている間はオブジェクトが排他的にロックされます。つまり、このオブジェクトはクエリや処理に一時的に使用できなくなります。トランザクションのコミット フェーズの間でも、クエリをオブジェクトに送信できますが、そのクエリはコミットが完了するまでキューに置かれます。処理時のロックおよびロック解除の詳細については、「データベースのロックおよびロック解除 (XMLA)」を参照してください。Analysis Services 処理に関連するパフォーマンスの問題の詳細については、「SQL Server 2005 Analysis Services パフォーマンス ガイド」の「処理パフォーマンスのチューニング」セクションを参照してください。

配置と処理

Analysis Services オブジェクトは、処理する前にサーバーに送信して配置する必要があります。配置するときに、XMLA スクリプトが Analysis Services インスタンスに送信され、そのスクリプトによって次の 1 つ以上のアクションが実行されます。

  • CREATE プロシージャ (Analysis Services データベースが存在しない場合)

  • データベース メタデータを更新する ALTER プロシージャ

  • データベースを処理する PROCESS プロシージャ

既定では、配置によってデータベース内のすべてのオブジェクトが処理がされます。ただし、配置後処理のオプションは変更できます。配置の詳細については、「Analysis Services プロジェクトの配置」を参照してください。

プロジェクト モードとオンライン モード

Business Intelligence Development Studio を使用している場合は、プロジェクト モードでデータベースをデザインします。データを分析する場合は、プロジェクトを Analysis Services インスタンスに配置します。配置プロセスでは、プロジェクト メタデータを Business Intelligence Development Studio から Analysis Services インスタンスに送信し、Analysis Services データベースを作成します。Business Intelligence Development Studio プロジェクトを変更した場合、プロジェクトを再配置するまで、Analysis Services データベースに影響はありません。

オンライン モードで Business Intelligence Development Studio から Analysis Services データベースに接続した場合、Business Intelligence Development Studio でオブジェクトを変更すると、再配置する必要なく、すぐに Analysis Services データベースに影響します。

プロジェクト モードとオンライン モードの両方で、データの分析や参照のために Analysis Services オブジェクトを処理する必要があります。プロジェクト モードとオンライン モードの詳細については、「実稼働環境における Analysis Services プロジェクト データベースの操作」を参照してください。

処理されるオブジェクト

処理は、Analysis Services オブジェクト (メジャー グループ、パーティション、ディメンション、キューブ、マイニング モデル、マイニング構造、およびデータベース) に影響します。あるオブジェクトに 1 つまたは複数のオブジェクトが含まれている場合は、最上位レベルのオブジェクトを処理すると、連鎖的に下位レベルのオブジェクトがすべて処理されます。たとえば、通常、キューブには、1 つ以上のメジャー グループ (各メジャー グループには 1 つ以上のパーティションが含まれています) とディメンションが含まれています。キューブを処理すると、そのキューブ内のメジャー グループと、その構成要素である、現在未処理の状態にあるディメンションがすべて処理されます。Analysis Services オブジェクトの処理の詳細については、「処理 (Analysis Services - 多次元データ)」を参照してください。

処理ジョブを実行するとき、オブジェクトの処理の有無およびその処理方法は、そのオブジェクトに設定されている処理オプションによって異なります。各オブジェクトに適用できる特定の処理オプションの詳細については、「処理オプションと設定」を参照してください。

オブジェクトを処理するジョブの開始

Analysis Services オブジェクトを処理するには、さまざまな方法があります。オブジェクト エクスプローラから SQL Server Management Studio を使用したり、ソリューション エクスプローラから Business Intelligence Development Studio を使用したり、XML for Analysis (XMLA) スクリプトを実行したりすることができます。詳細については、「Analysis Services オブジェクトを処理する方法」を参照してください。

プログラムによる方法を選択する場合は、分析管理オブジェクト (AMO) を使用してジョブの処理を開始できます。詳細については、「AMO OLAP 基本オブジェクトのプログラミング」を参照してください。

これらのいずれかの方法に従って、キューブを構成するすべてのオブジェクトを一度にまたは段階的に処理できます。また、処理が必要なオブジェクトのみを処理するように指定できます。

影響の分析

Analysis Services オブジェクトを処理する前に、[オブジェクトの処理] ダイアログ ボックスの [影響分析] をクリックして、関連オブジェクトへの影響を分析できます。特に明示的に指定しない限り、関連オブジェクトが処理されるとき、別のオブジェクトに依存しているオブジェクトは処理されません。したがって、処理するディメンションが複数のキューブで使用されている場合は、ディメンションの処理時にそれらのキューブが未処理の状態になります。つまり、クエリを実行する前にキューブを別個に処理する必要があります。このような場合、バッチ処理の設定を利用すると、ディメンションと関連キューブの両方を同時に処理できます。関連オブジェクトを同時に処理する方法の詳細については、「Analysis Services でのバッチ処理」を参照してください。

オブジェクトの再処理

未処理の要素を含んでいるキューブは、参照する前に再処理する必要があります。Analysis Services 内のキューブには、キューブをクエリする前に処理する必要のあるメジャー グループとパーティションが含まれています。キューブを処理すると、Analysis Services は、キューブの構成要素であるディメンションが未処理の状態にある場合、そのディメンションを処理します。オブジェクトを最初に処理した後、次のような状態が発生した場合は、部分的または全体的にオブジェクトを再処理する必要があります。

  • オブジェクトの構造が変化した場合 (ファクト テーブル内の列を削除するなど)

  • オブジェクトの集計デザインが変化した場合

  • オブジェクト内のデータを更新する必要がある場合

Analysis Services でオブジェクトを処理する場合は、処理オプションを選択するか、適切な種類の処理を決定する Analysis Services の機能を有効にすることができます。使用可能な処理方法はオブジェクトごとに異なり、オブジェクトの種類に基づいています。また、使用可能な方法は、オブジェクトの最後の処理後にオブジェクトに対して行われた変更に基づいています。処理方法を自動的に選択する Analysis Services の機能を有効にすると、オブジェクトを完全処理状態に最短時間で戻す方法が使用されます。詳細については、「処理オプションと設定」を参照してください。

バッチ処理

複数の Analysis Services オブジェクトをバッチ処理することができます。バッチ処理を使用して、処理されるオブジェクトやその処理順序を制御します。完全な処理操作を行う必要はありません。たとえば、メジャー グループ内の特定のパーティションと、そのパーティションに影響するディメンションを処理する場合があります。データベース レベルまたはキューブ レベルで処理するのではなく、処理するオブジェクトだけを選択できます。詳細については、「Analysis Services でのバッチ処理」を参照してください。