処理オプションと設定

Microsoft SQL Server Analysis Services でオブジェクトを処理する場合、処理オプションを選択することにより、各オブジェクトに対して行われる処理の種類を制御できます。また Analysis Services の機能を有効にして、適切な処理の種類を特定することもできます。処理方法はオブジェクトごとに異なり、オブジェクトの種類や、オブジェクトに対する変更内容 (オブジェクトに対するなんらかの処理が行われている場合) の影響を受けます。処理方法を自動的に選択する Analysis Services の機能を有効にすると、オブジェクトを完全処理状態に最短時間で戻す方法が使用されます。

処理オプションを設定することにより、処理されるオブジェクト、およびオブジェクトの処理方法を制御できます。このような設定のいくつかは、主にバッチ処理ジョブで使用されます。バッチ処理の詳細については、「Analysis Services でのバッチ処理」を参照してください。

処理オプション

次の表では、Analysis Services で使用可能な処理方法について説明し、それぞれの方法でサポートされているオブジェクトを示しています。

  • 既定の処理
    オブジェクトの処理状態を検出し、処理されていないオブジェクトや部分的に処理されたオブジェクトを完全処理状態にするために必要な処理を行います。この処理オプションは、キューブ、データベース、ディメンション、メジャー グループ、マイニング モデル、マイニング構造、およびパーティションに対してサポートされています。

  • 完全処理
    Analysis Services オブジェクトとそのオブジェクトに含まれるすべてのオブジェクトを処理します。既に処理されているオブジェクトに対して完全処理を実行すると、Analysis Services によってそのオブジェクトに含まれているすべてのデータが削除されてから、オブジェクトの処理が開始されます。この種類の処理は、属性階層の追加、削除、または名前変更など、構造上の変更がオブジェクトに加えられた場合に必要です。この処理オプションは、キューブ、データベース、ディメンション、メジャー グループ、マイニング モデル、マイニング構造、およびパーティションに対してサポートされています。

  • 増分処理
    新しく使用可能になったファクト データを追加し、関連するパーティションのみを処理します。この処理オプションは、メジャー グループとパーティションに対してサポートされています。

  • 更新の処理
    データの再読み取りとディメンション属性の更新を強制します。関連するパーティション上の柔軟な集計およびインデックスは削除されます。たとえば、この処理オプションを使用すると、新規メンバをディメンションに追加して、データの完全な再読み取りを強制することによって、オブジェクト属性を更新できます。この処理オプションは、ディメンションに対してサポートされています。

  • インデックスの処理
    処理済みのすべてのパーティションに対するインデックスおよび集計を作成または再構築します。このオプションにより、未処理のオブジェクトでエラーが発生します。この処理オプションは、キューブ、ディメンション、メジャー グループ、およびパーティションに対してサポートされています。

  • データの処理
    集計またはインデックスを構築せずにデータのみを処理します。パーティションにデータが含まれている場合、このデータはパーティションにソース データが再挿入される前に削除されます。この処理オプションは、ディメンション、キューブ、メジャー グループ、およびパーティションに対してサポートされています。

  • 未処理
    指定されたオブジェクトとその下位オブジェクトに含まれているデータを削除します。削除されたデータは、再読み込みされません。この処理オプションは、キューブ、データベース、ディメンション、メジャー グループ、マイニング モデル、マイニング構造、およびパーティションに対してサポートされています。

  • 構造の処理
    Analysis Services では、キューブが処理されていない場合、必要に応じてキューブのすべてのディメンションが処理されます。その後、Analysis Services によってキューブの定義だけが作成されます。このオプションをマイニング構造に適用すると、マイニング構造にはソース データが挿入されます。このオプションと完全処理オプションの違いは、このオプションではマイニング モデル自体までは処理が繰り返されないということです。この処理オプションは、キューブとマイニング構造に対してサポートされています。

  • 構造消去の処理
    マイニング構造からすべてのトレーニング データを削除します。この処理オプションは、マイニング構造に対してのみサポートされています。

  • スクリプト キャッシュの処理
    この機能は、Microsoft SQL Server の次のバージョンで削除されます。新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションはできるだけ早く修正してください。.

処理の設定

次の表では、処理操作の作成時に使用できる処理オプションの設定について説明します。

処理オプション

説明

並列

バッチ処理に使用します。この設定により、Analysis Services は、処理タスクを分岐して 1 つのトランザクション内で同時に実行します。エラーが発生した場合は、すべての変更がロールバックされます。並列タスクの最大数を明示的に設定するか、サーバーに最適な分散を自動的に判断させることもできます。並列オプションは、処理の高速化に役立ちます。

シーケンシャル (トランザクション モード)

処理ジョブの実行動作を制御します。次の 2 つのオプションを使用できます。

  • [1 つのトランザクション]。処理ジョブは 1 つのトランザクションとして実行されます。処理ジョブ内のすべての処理が成功すると、処理ジョブによる変更がすべてコミットされます。処理が 1 つ失敗すると、処理ジョブによる変更がすべてロールバックされます。[1 つのトランザクション] が既定値です。

  • [個別のトランザクション]。処理ジョブ内の各処理はスタンドアロンのジョブとして実行されます。処理が 1 つ失敗すると、その処理だけがロールバックされ、処理ジョブは続行されます。各ジョブでは、そのジョブの最後に処理の変更がすべてコミットされます。

[1 つのトランザクション] を使用して処理する場合、処理ジョブが成功した後にすべての変更がコミットされます。つまり、コミット処理までは、特定の処理ジョブの影響を受けるすべての Analysis Services オブジェクトをそのままクエリ用に使用できます。これにより、オブジェクトは一時的に使用できなくなります。[個別のトランザクション] を使用した場合、処理ジョブ内の処理の影響を受けるすべてのオブジェクトは、その処理が成功するとすぐに、クエリ用に使用できなくなります。

書き戻しテーブル オプション

処理中に書き戻しテーブルをどのように処理するかを制御します。このオプションは、キューブ内の書き戻しパーティションに適用され、次のオプションを使用します。

  • [既存のデータを使用する]。既存の書き戻しテーブルを使用します。これは既定値です。

  • [作成]。新しい書き戻しテーブルを作成します。書き戻しテーブルが既に存在する場合、その処理は失敗します。

  • [常に作成する]。書き戻しテーブルが既に存在する場合でも新しい書き戻しテーブルを作成します。既存のテーブルは削除されて置き換えられます。

影響を受けたオブジェクトの処理

処理ジョブのオブジェクトのスコープを制御します。影響を受けるオブジェクトは、オブジェクトの依存関係によって定義されます。たとえば、パーティションは、集計を決定するディメンションに依存しますが、ディメンションはパーティションに依存しません。次のオプションを使用できます。

  • [False]。ジョブは、そのジョブで明示的に指定されたオブジェクトとすべての依存オブジェクトを処理します。たとえば、処理ジョブにディメンションしか含まれていない場合、Analysis Services は、そのジョブで明示的に特定されたオブジェクトだけを処理します。処理ジョブにパーティションが含まれている場合は、パーティションを処理すると、影響を受けるディメンションに関する処理が自動的に呼び出されます。[False] が既定の設定です。

  • [True]。ジョブによって処理されるのは、そのジョブで明示的に指定されたオブジェクト、すべての依存オブジェクト、および処理されるオブジェクトの影響を受けるすべてのオブジェクトです。ただし、影響を受けるオブジェクトの状態は変更されません。たとえば、処理ジョブにディメンションしか含まれていない場合、Analysis Services は、現在処理済みの状態にあるパーティションに対してディメンション処理を行ったときに影響を受けるすべてのパーティションも処理します。影響を受けるパーティションのうち、現在未処理の状態にあるパーティションは処理されません。ただし、パーティションはディメンションに依存するため、処理ジョブにパーティションしか含まれていない場合は、ディメンションが現在未処理の状態にあっても、パーティションを処理すると、影響を受けるディメンションの処理が自動的に呼び出されます。

ディメンション キーのエラー

処理中にエラーが発生した場合に Analysis Services で実行されるアクションを決定します。[カスタム エラー構成を使用する] を選択すると、次のアクションの値を選択して、エラー処理の動作を制御できます。

  • [キー エラー アクション]。レコードにキー値がまだ存在していない場合、次のいずれかのアクションが行われるように選択します。

    • [不明な種類に変換]。このキーは不明メンバとして解釈されます。これは既定の設定です。

    • [レコードの破棄]。レコードが破棄されます。

  • [エラー処理の制限]。次のいずれかのオプションを選択して、処理されるエラー数を制御します。

    • [エラー数を無視する]。これにより、エラー数に関係なく、処理を続行できます。

    • [エラー時に停止する]。このオプションでは、さらに 2 つのオプションを設定します。[エラー数] では、特定の数のエラーに処理を制限できます。[エラー時のアクション] では、[エラー数] に到達したときのアクションを決定できます。[処理の停止] (処理ジョブが失敗した場合にすべての変更がロールバックされます) や [ログ記録の停止] (エラーをログに記録せずに処理を続行できます) を選択できます。[エラー時に停止する] は既定の設定で、[エラー数]0 に設定され、[エラー時のアクション][処理の停止] に設定されています。

  • [詳細なエラー条件]。次のオプションを設定して、詳細なエラー処理の動作を制御できます。

    • [見つからないキー]。キー値がパーティションに存在しても対応するディメンションに存在しない場合に使用されます。既定の設定は [報告して続行する] です。他に、[エラーを無視する] および [報告して停止する] という設定もあります。

    • [重複キー]。ディメンションに複数のキー値が存在する場合に使用されます。既定の設定は [エラーを無視する] です。他に、[報告して続行する] および [報告して停止する] という設定もあります。

    • [不明な種類に変換された NULL キー]。キー値が NULL で、[キー エラー アクション][不明な種類に変換] に設定されている場合に使用されます。既定の設定は [エラーを無視する] です。他に、[報告して続行する] および [報告して停止する] という設定もあります。

    • [許可されていない NULL キー][キー エラー アクション][レコードの破棄] に設定されている場合に使用されます。既定の設定は [報告して続行する] です。他に、[エラーを無視する] および [報告して停止する] という設定もあります。

[既定のエラー構成を使用する] を選択すると、Analysis Services では、処理される各オブジェクトに設定されているエラー構成が使用されます。既定の構成設定を使用するようにオブジェクトを設定すると、Analysis Services では、各オプションに指定されている既定の設定が使用されます。