次の方法で共有


多次元モデル オブジェクト処理

処理とは、Analysis Services がリレーショナル データ ソースから多次元モデルにデータを読み込むステップ (一連のステップ) です。 MOLAP ストレージを使用するオブジェクトの場合、データはデータベース ファイル フォルダーのディスクに保存されます。 ROLAP ストレージの場合、オブジェクトに対する MDX クエリに応答して、必要に応じて処理が行われます。 ROLAP ストレージを使用するオブジェクトの場合、処理とは、クエリ結果を返す前にキャッシュを更新することです。

既定では、ソリューションをサーバーにデプロイするときに処理が行われます。 また、Management Studio や SQL Server Data Tools などのツールを使用してアドホックに、または Integration Services と SQL Server エージェントを使用してスケジュールに従って、ソリューションのすべてまたは一部を処理することもできます。 ディメンションの削除や互換性レベルの変更など、モデルに構造変更を加える場合は、モデルの物理的側面と論理的側面を同期するために、もう一度処理する必要があります。

このトピックのセクションは次のとおりです。

前提条件

ツールまたはアプローチの選択

オブジェクトの処理

オブジェクトの再処理

[前提条件]

  • 処理には、Analysis Services インスタンスに対する管理アクセス許可が必要です。 SQL Server Data Tools または Management Studio から対話形式で処理する場合は、Analysis Services インスタンスのサーバー管理者ロールのメンバーである必要があります。 SQL Server エージェントを使用してスケジュールする SSIS パッケージの使用など、無人で実行される処理の場合、パッケージの実行に使用されるアカウントはサーバー管理者ロールのメンバーである必要があります。 管理者権限の設定の詳細については、「 サーバー管理者のアクセス許可の付与 (Analysis Services)」を参照してください。

  • データの取得に使用するアカウントは、Windows 認証を使用している場合は偽装オプションとして、データベース認証を使用する場合は接続文字列のユーザー名として、データ ソース オブジェクトで指定されます。 このアカウントには、モデルで使用されるリレーショナル データ ソースに対する読み取りアクセス許可が必要です。

  • オブジェクトを処理する前に、プロジェクトまたはソリューションを配置する必要があります。

    最初は、モデル開発の初期段階で、デプロイと処理が一緒に行われます。 ただし、ソリューションをデプロイした後で、モデルを処理するオプションを設定できます。 導入の詳細については、「Analysis Services プロジェクトのデプロイ (SSDT)」を参照してください。

ツールまたはアプローチの選択

SQL Server Data Tools や Management Studio などのクライアント アプリケーション、または SQL Server エージェント ジョブまたは SSIS パッケージとして実行されるスクリプト化された操作を使用して、オブジェクトを対話形式で処理できます。

データベースの処理方法は、モデルがアクティブな開発中か運用環境かによって大きく異なります。 モデルが運用サーバーにデプロイされたら、多次元データの整合性と可用性を確保するために、処理を厳密に制御する必要があります。 オブジェクトは相互に依存するため、他のオブジェクトも同時に処理または処理されないため、通常、処理はモデル全体でカスケード効果を持ちます。 一部のオブジェクトが未処理の状態のままになっている場合、そのデータに対するクエリは解決されず、それを使用するレポートやアプリケーションが中断されます。 運用データベースを処理するための戦略を開発する場合は、オペレーター エラーや見落とされた手順を回避するために、デバッグしてテストしたスクリプトまたは SSIS パッケージを使用することを検討してください。

詳細については、「 処理のためのツールとアプローチ (Analysis Services)」を参照してください。

オブジェクトの処理

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

処理ジョブが動作している間は、影響を受ける Analysis Services オブジェクトにアクセスしてクエリを実行できます。 処理ジョブはトランザクション内で動作し、トランザクションはコミットまたはロールバックできます。 処理ジョブが失敗した場合、トランザクションはロールバックされます。 処理ジョブが成功すると、変更がコミットされるときに排他ロックがオブジェクトに設定されます。つまり、オブジェクトはクエリまたは処理に一時的に使用できません。 トランザクションのコミット フェーズ中も、クエリはオブジェクトに送信できますが、コミットが完了するまでキューに入れられます。

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

オブジェクトの再処理

未処理の要素を含むキューブは、参照する前に再処理する必要があります。 Analysis Services のキューブには、キューブを照会する前に処理する必要があるメジャー グループとパーティションが含まれています。 キューブを処理すると、ディメンションが未処理の状態にある場合、Analysis Services はキューブの構成ディメンションを処理します。 オブジェクトが初めて処理された後は、次のいずれかの状況が発生するたびに、そのオブジェクトを部分的または完全に再処理する必要があります。

  • ファクト テーブル内の列の削除など、オブジェクトの構造が変更されます。

  • オブジェクトの集計デザインが変更されます。

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

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

こちらもご覧ください

論理アーキテクチャ (Analysis Services - 多次元データ)
データベース オブジェクト (Analysis Services - 多次元データ)