次の方法で共有


Service Manager データ ウェアハウスの管理

主にレポートで使用されるデータ ウェアハウスを管理するには、データ ウェアハウス ジョブに対してメンテナンス タスクを実行する必要があります。 たとえば、状態の表示、一時停止と再開、スケジュールの設定、スケジュールの有効化と無効化、データ ウェアハウス ジョブのトラブルシューティングを行うことができます。 これらのメンテナンス タスクはすべて、Windows PowerShell コマンドレットを使用して実行できます。 さらに、Service Manager コンソールを使用して、これらのタスクの一部を実行できます。

デプロイ時に、「Service Manager 展開ガイド」の「Service Manager 管理グループの登録」で説明されているように、Service Manager 管理グループを登録しました。 そのアクションの結果、管理パックの展開が開始され、MPSyncJob が開始されました。 Service Manager コンソールの Data Warehouse ジョブ ペインに示すように、MPSyncJob が完了するまで、データ ウェアハウス ジョブを開始または再開しないでください。

次の表に示すように、データ ウェアハウスを維持するためにさまざまな時間に実行される 7 つのデータ ウェアハウス ジョブがあります。

データ ウェアハウス 業務 説明
MPSyncJob このジョブは、Service Manager ソースからすべての管理パックを同期します。 これらの管理パックは、データ ウェアハウスのコンテンツを定義します。 このジョブは、Service Manager 管理グループを登録するとすぐに実行が開始され、初回実行時に完了するまでに数時間かかります。
DWMaintenance このジョブは、統計のインデックス作成や更新など、データ ウェアハウスのメンテナンスを実行します。 このジョブは、MPSyncJob が完了した後に自動的に実行されます。
エンティティ (またはグルーミング) 通常、クリーンアップ機能には、構成可能な期間に基づいてデータを削除するデータ ウェアハウス上のアクティビティが含まれます。 注: Service Manager のこのリリースでは、クリーンアップ機能はワークフローとして処理されます。 このジョブの設定は構成できません。
Extract このジョブは、Service Manager データベースからデータを取得します。 このジョブは、最後の実行以後に変更されたデータを Service Manager データベースに照会し、この新しいデータをデータ ウェアハウスにある DWStagingAndConfig データベースに書き込みます。 Service Manager には 2 つの抽出ジョブがあります。1 つは Service Manager 管理グループ用、もう 1 つはデータ ウェアハウス管理グループ用です。
変換 生データをステージング領域から取得し、レポート用の最終形式に変換するために必要なクレンジング、再フォーマット、集計を行います。 変換後のデータは、DWRepository データベースに書き込まれます。
Load DWRepository データベースのデータを照会し、そのデータを DWDatamart データベースに挿入します。 DWDatamart は、エンド ユーザーがレポートを必要とするときに常に使用されるデータベースです。

ジョブのスケジュールと頻度

ジョブのスケジュールは、ジョブの開始時に定義されます。 頻度とは、ジョブが開始された後に実行される頻度を指します。 スケジュールと頻度に関係なく、ジョブのスケジュールが有効になっていない限り、ジョブは実行されません。 エンティティ (クリーンアップ) ジョブを除き、各ジョブには既定のスケジュールされた開始時刻 (午前 0 時) があります。 次の表に、スケジュールされた開始時刻、頻度、および既定のスケジュール設定を示します。

データ ウェアハウス 業務 スケジュール済みの開始時間 頻度 既定で有効かどうか
MPSyncJob 深夜 12 時 1 時間ごと はい
DWMaintenance 深夜 12 時 1 時間ごと はい
Extract 深夜 12 時 5 分おき はい
変換 深夜 12 時 30 分おき はい
Load 深夜 12 時 1 時間ごと はい

Service Manager のこのリリースでは、クリーンアップ機能はワークフローとして処理されます。 このジョブの設定は構成できません。

PowerShell コマンドレット

Service Manager Windows PowerShell モジュールには、データ ウェアハウスをホストするサーバー上のデータ ウェアハウス機能を管理するためにこのシナリオで使用されるコマンドレットが含まれています。 すべての Windows PowerShell コマンドレットを管理者として実行する必要があります。 Windows PowerShell ヘルプを表示するには、 get-help コマンドの後に、ヘルプが必要なコマンドレットの名前を入力します。 たとえば、get-help Set-SCDWJobSchedule と入力します。

次の PowerShell コマンドレットが使用されます。

PowerShell コマンドレット 説明
Get-SCDWJobSchedule データウェアハウスのジョブ スケジュールを表示します。
Get-SCDWJob すべての繰り返し実行される Service Manager データ ウェアハウス ジョブの状態を表示します。
Get-SCDWMgmtGroup データ ウェアハウスに登録されている管理グループの詳細を表示します。
Remove-SCDWMgmtGroup データ ウェアハウスから管理グループを削除します。
Set-SCDWJobSchedule データウェアハウスのジョブスケジュールを設定します。
Enable-SCDWJobSchedule データ ウェアハウス ジョブのスケジュールを有効にします。
Disable-SCDWJobSchedule データ ウェアハウス ジョブのスケジュールを無効にします。 ジョブのスケジュールは既定で無効になっています。

データウェアハウスジョブを始める

Service Manager データ ウェアハウスに登録すると、MPSyncJob の実行が開始されます。 このジョブは、最初の実行が完了するまでに数時間かかることがあります。 このジョブが完了すると、[データ ウェアハウス ジョブ] ウィンドウに 2 つの抽出ジョブが一覧表示されます。 1 つの抽出ジョブは Extract_データ ウェアハウス管理グループ名として表示され、もう 1 つの抽出ジョブは Extract_Service Manager 管理グループ名として一覧表示されます。 これらの抽出ジョブの両方が表示されると、MPSyncJob の最初の実行が完了し、後続のメンテナンス タスクを続行できることがわかります。

データ ウェアハウス モジュールのデプロイ

Service Manager でのデータ ウェアハウス モジュールのデプロイは、Service Manager 管理サーバーがデータ ウェアハウス管理サーバーに登録されたときに開始されます。 次のセクションでは、モジュール パーツ、機能、スケジュールについて説明します。

管理パックの同期は、データ ウェアハウスが、ソース システムに存在するクラスとリレーションシップを検出するプロセスです。 このプロセスは、MPSync とも呼ばれます。 クラスまたはリレーションシップを定義するすべての管理パック用に、データ ウェアハウスは、対応するソースからクラスまたはリレーションシップのデータを取得するための抽出ジョブ モジュールを作成します。 そのような管理パックとその関連ジョブが、システム間で同期されます。

封印された管理パックとその対応データのみが、データ ウェアハウスに同期されます。 管理パックを変更する場合は、バージョン番号を増やす必要があり、エラーの原因となる可能性のある変更を導入することはできません。それ以外の場合、管理パックはインポートに失敗します。 たとえば、クラスを削除したり、プロパティを削除したり、リレーションシップを削除したりすることはできません。 同様に、サポートされていない方法でデータ型を変更することはできません。 たとえば、文字列プロパティを数値プロパティに変更することはできません。

既定では、MPSync Orchestration ジョブは、30 分ごとに実行されます。

複数のソースが同じ管理パックを参照している可能性があります。 ソース システムのバージョンは、データ ウェアハウスのバージョンと同一、またはそれ以降である必要があります。そうでないと、登録が失敗します。

データ ウェアハウスから管理パックを削除できます。 ただし、次の点に配慮してください。

  • 管理パックを削除しても、Service Manager データベースと同様にデータ ウェアハウスからデータは削除されません。代わりに、ユーザーにアクセス権が付与されているデータベース ビューが削除されます。

  • 対応する管理パックを削除した後で管理パックを再インポートすると、履歴データが再び公開されます。

    Note

    封印された管理パックのみが Service Manager からデータ ウェアハウスに同期されます。 これに対する例外は、一覧アイテムです。これは列挙としても知られています。 グループまたはキューは、封印された管理パックと封印されていない管理パックのどちらにあるかに関係なく、データ ウェアハウスに同期されます。

Service Manager からインポートされる管理パックは、Service Manager 固有およびデータ ウェアハウス固有です。 Service Manager 管理パックは、Service Manager データベースの構造を認識し、データ ウェアハウス管理パックがデータ ウェアハウス データベースの構造とプロセスを推進します。

Service Manager データ ウェアハウスの保有期間

既定では、データはファクト テーブルの場合は 3 年間、ディメンション テーブルとアウトリガー テーブルの場合は無制限の期間、データ ウェアハウスに格納されます。 ただし、データを長期間保有する場合や、積極的にクリーンアップする場合は、保有期間を変更することができます。

ファクト テーブルの保有期間の設定

データ ウェアハウスには、次の 2 種類の保持設定があります。

  • グローバル: データベース内のすべてのファクト テーブルのグローバルリテンション期間は既定で 3 年に設定され、その後作成されたファクト テーブルは既定の保持設定として使用されます。
  • 個々のファクト: 個々のファクト テーブルの詳細な保持期間は、個別に変更しない限り、3 年間のグローバル設定を使用します。

グローバル: Service Manager データ ウェアハウスに格納されるデータの既定のグローバル保持期間は 3 年であるため、すべてのファクト テーブルで既定の保持設定として 3 年間が使用されます。 その後作成されるすべてのファクト テーブルは、作成時に、個別の保存期間の設定としてこの設定を使用します。

個々のファクト テーブル: 個々のファクト テーブルは、作成時にグローバル保持値を継承するか、既定のグローバル設定とは異なる値にカスタマイズできます。 インストール中に作成された既定の個別のファクト テーブルは、必要に応じて、特定の保有期間の値を使用して個別に構成することができます。

Get SCDWRetentionPeriod PowerShell コマンドレットを使用して、特定のデータ ウェアハウスのデータベース内の特定のファクト テーブルの保有期間、またはデータベース内のファクト テーブルの既定の保有期間のいずれかを取得します。 使用可能なパラメーターと使用例の詳細については、「 Get-SCDWRetentionPeriodを参照してください。

以前に削除した管理パックを再インポートする

データ ウェアハウス情報にアクセスするレポートを含む管理パックの開発とテスト過程では、いったん管理パックを削除し、後で再びインポートしなければならないことがあります。 ただし、データ ウェアハウスから管理パックがアンインストールした後で、新しい管理パックに、元の管理パックとは異なるスキーマを持つ同じディメンション名、ファクト名、キューブ名が含まれている場合は、DWRepository および DWDataMart データベースから手動でディメンションとファクト テーブルを削除し、さらに、SQL Server Analysis Services (SSAS) データベースから参照キューブをすべて削除する必要があります。

また、ディメンションやファクトが既に既存のデータ キューブで参照されている場合は、新しい管理パックをアンインストールする前に、そのデータ キューブを含む管理パックとデータ キューブ自体を削除しなければなりません。 Service Manager は DataSourceView からディメンションまたはファクト テーブルを削除せず、ディメンションは SSAS データベースから削除されないため、データ キューブが参照する情報を手動で削除する必要があります。 その場合、更新された管理パックの再登録または再インストールの前に、SQL Server Management Studio を使用して、管理パックで作成したカスタム データ キューブを DWASDatabase から削除できます。

通常、異なるスキーマを持つ場合、同じディメンション名、ファクト名、キューブ名は使用しないようにします。 Service Manager では、この条件はサポートされていません。

データ ウェアハウス作業スケジュールを有効または無効にする

必要に応じて ETL ジョブのスケジュールを有効にするには、次の手順に従います。この手順を使用して、任意のデータ ウェアハウス ジョブのスケジュールを有効にすることができます。 既定では、抽出、変換、読み込み (ETL) ジョブのスケジュールが有効になっています。 Service Manager のこのリリースでは、Windows PowerShell を使用してのみスケジュールを有効にすることができます。

Windows PowerShell コマンドレットを使用してデータ ウェアハウス ジョブのスケジュールを有効にするには、次の手順に従います。

  1. データ ウェアハウス管理サーバーをホストするコンピューターで、 Start を選択し、 すべてのプログラムをポイントし、 Microsoft System Center を選択し、 Service Manager 2016 を選択して、 Service Manager シェルを選択します。
  1. データ ウェアハウス管理サーバーをホストするコンピューターで、 Start を選択し、 すべてのプログラムをポイントしMicrosoft System Center を選択Service Manager を選択して、 Service Manager シェルを選択します。
  1. Windows PowerShell プロンプトで、次のコマンドを入力し、各コマンドの後に Enter キーを押します。

    Enable-SCDWJobSchedule -JobName Extract_<data warehouse management group name>
    
    Enable-SCDWJobSchedule -JobName Extract_<Service Manager management group name>
    
    Enable-SCDWJobSchedule -JobName Transform.Common
    
    Enable-SCDWJobSchedule -JobName Load.Common
    
  2. exit」と入力し、Enter キーを押します。

次の手順を使用して、抽出、変換、読み込み (ETL) ジョブのスケジュールを無効にすることができます。ただし、この手順を使用して、任意のデータ ウェアハウス ジョブのスケジュールを無効にすることができます。 Service Manager のこのリリースでは、Windows PowerShell コマンドレットを使用してのみスケジュールを無効にすることができます。

データ ウェアハウス ジョブを停止して開始する

Service Manager で実行されているデータ ウェアハウス ジョブを停止して開始できます。 たとえば、データ ウェアハウス管理サーバーに対するセキュリティ更新プログラムが実行される可能性のあるジョブに干渉しないように、実行中のすべてのデータ ウェアハウス ジョブを停止する必要がある場合があります。 サーバーの更新と再起動が完了したら、すべてのデータ ウェアハウス ジョブを再開します。 Service Manager コンソールを使用するか、Windows PowerShell コマンドレットを使用して、ジョブを停止してから開始できます。 この例では、抽出、変換、読み込み (ETL) ジョブのみが実行されています。

Note

Service Manager Windows PowerShell コマンドレットの使用方法については、「 Windows PowerShell の Service Manager コマンドレットを構成して使用する」を参照してください。

Service Manager コンソールを使用してデータ ウェアハウス ジョブを停止および開始する

Service Manager コンソールを使用してデータ ウェアハウス ジョブを停止して開始するには、次の手順に従います。

  1. Service Manager コンソールで、 Data Warehouse を選択します。
  2. [ Data Warehouse を展開し、 Data Warehouse ジョブを選択します。
  3. Data Warehouse ジョブ ペインで、実行中のジョブを選択し、Tasks の一覧で Suspend を選択します。
  4. データ ウェアハウス ジョブごとに前の手順を繰り返します。
  5. 各ジョブを再開するには、Data Warehouse ジョブ ペインで停止しているジョブを選択し、Tasks の一覧で Resume を選択します。

Windows PowerShell コマンドレットを使用してすべてのデータ ウェアハウス ジョブを停止するには、次の手順に従います。

  1. データ ウェアハウス管理サーバーをホストするコンピューターで、 Start を選択し、 すべてのプログラムをポイントし、 Microsoft System Center を選択し、 Service Manager 2016 を選択して、 Service Manager シェルを選択します。
  1. データ ウェアハウス管理サーバーをホストするコンピューターで、 Start を選択し、 すべてのプログラムをポイントしMicrosoft System Center を選択Service Manager を選択して、 Service Manager シェルを選択します。
  1. Windows PowerShell プロンプトで、次のコマンドを入力し、各コマンドの後に Enter キーを押します。

    Stop-SCDWJob-JobName Extract_<data warehouse management group name>
    
    Stop-SCDWJob -JobName Extract_<Service Manager management group name>
    
    Stop-SCDWJob -JobName Transform.Common
    
    Stop-SCDWJob -JobName Load.Common
    
  2. exit」と入力し、Enter キーを押します。

Service Manager でデータ ウェアハウス ジョブをスケジュールする

次の手順を使用して、Service Manager でデータ ウェアハウス ジョブをスケジュールできます。

この手順は、データ ウェアハウス ジョブのスケジュールが Service Manager で定義されているシナリオで使用できます。 データ ウェアハウス ジョブのスケジュールを変更して、Service Manager データベースとデータ ウェアハウスの標準メンテナンス期間を定義する必要があります。 Set-SCDWJobSchedule コマンドレットを使用して、データ ウェアハウス ジョブをスケジュールします。 Set-SCDWJobSchedule -ScheduleType Weekly コマンドレットとパラメーターの組み合わせにより、ジョブは指定した日にのみ実行できます。 たとえば、次のコマンドでは、毎日または毎週のスケジュールを定義します。

Set-SCDWJobSchedule -JobName Transform.Common -ScheduleType Daily -DailyFrequency  01:00:00 -DailyStart 06:00
Set-SCDWJobSchedule -JobName Transform.Common -ScheduleType Weekly -WeeklyFrequency Tuesday, Thursday -WeeklyStart 06:00

Note

Windows PowerShell コマンドレットを実行するには、実行ポリシーを RemoteSigned に設定する必要があります。

次の手順では、変換ジョブが午前 2 時から 45 分ごとに実行されるようにスケジュールを構成します。 ただし、コマンドを変更して独自のスケジュールを設定することはできます。

データ ウェアハウス ジョブのスケジュールを構成するには、次の手順に従います。

  1. データ ウェアハウス管理サーバーをホストするコンピューターで、 Start を選択し、 すべてのプログラムをポイントし、 Microsoft System Center を選択し、 Service Manager 2016 を選択して、 Service Manager シェルを選択します。
  1. データ ウェアハウス管理サーバーをホストするコンピューターで、 Start を選択し、 すべてのプログラムをポイントしMicrosoft System Center を選択Service Manager を選択して、 Service Manager シェルを選択します。
  1. Windows PowerShell プロンプトで、次のコマンドを入力し、Enter キーを押します。

    Set-SCDWJobSchedule -JobName Transform.Common -ScheduleType Daily -DailyFrequency 00:45:00 -DailyStart 02:00
    

データ ウェアハウス内のすべてのディメンションを処理する

各ディメンションを個別に処理するのではなく、Windows PowerShell コマンドレットを使用して、データ ウェアハウス内のすべてのディメンションを 1 回の操作で処理できます。 SQL Server Analysis Services (SSAS) をホストするサーバーで、次の Windows PowerShell スクリプトを使用します。 完全修飾サーバー名を指定してください。 各コマンドを個別に入力することも、すべて Windows PowerShell スクリプト (.ps1) ファイルとして保存してスクリプトを実行することもできます。

Service Manager コマンドレットを使用する前に、Service Manager シェルを構成する必要があります。 Service Manager シェルの構成の詳細については、「 Windows PowerShell 用 System Center Service Manager コマンドレットの構成と使用」を参照してください。

コマンドレットを使用してすべてのディメンションを処理する

  • Service Manager シェルのプロンプトで、次のコード スニペットをコピーして貼り付けます。

    [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.AnalysisServices") > $NULL
    
    $Server = New-Object Microsoft.AnalysisServices.Server
    $Server.Connect("<FullyQualifiedServerName>")
    $Databases = $Server.Databases
    $DWASDB = $Databases["DWASDataBase"]
    $Dimensions = New-Object Microsoft.AnalysisServices.Dimension
    $Dimensions = $DWASDB.Dimensions
    
    foreach ($Dimension in $Dimensions){$Dimension.Process("ProcessFull")}
    

データ ウェアハウスのジョブ履歴を表示する

データ ウェアハウス ジョブの履歴は、Service Manager で実行されるときに収集されます。 この履歴を表示して、ジョブの実行時間を確認したり、ジョブが最後に正常に実行された時刻を確認したりできます。 データ ウェアハウス ジョブ履歴を表示する場合は、 NumberOfBatches パラメーターを使用して指定したエントリの数を表示します。 データ ウェアハウス ジョブの履歴の最後の 5 つのエントリを表示するには、次の手順を使用します。

データ ウェアハウスジョブ履歴の最後の 5 つのエントリを表示する

データ ウェアハウス ジョブ履歴の最後の 5 つのエントリを表示するには、次の手順に従います。

  1. データ ウェアハウス管理サーバーをホストするコンピューターで、 Start を選択し、 すべてのプログラムをポイントし、 Microsoft System Center を選択し、 Service Manager 2016 を選択して、 Service Manager シェルを選択します。
  1. データ ウェアハウス管理サーバーをホストするコンピューターで、 Start を選択し、 すべてのプログラムをポイントしMicrosoft System Center を選択Service Manager を選択して、 Service Manager シェルを選択します。
  1. 次のコマンドを入力し、Enter キーを押します。

    Get-SCDWJob -NumberOfBatches 5
    
  2. exit」と入力し、Enter キーを押します。

データ ウェアハウス ジョブの状態を表示する

次の手順を使用して、Service Manager のデータ ウェアハウス ジョブの状態を表示して、ジョブが実行されているか、停止されているか、失敗しているかを判断できます。

Service Manager コンソールを使用してデータ ウェアハウス ジョブの状態を表示するには、次の手順に従います。

  1. Service Manager コンソールで、 Data Warehouse を選択します。
  2. Data Warehouse ペインで、Data Warehouse を展開し、Data Warehouse ジョブを選択します。
  3. Data Warehouse ジョブ ペインで、ジョブの一覧を確認して、その状態を確認します。

Service Manager でデータ ウェアハウス ジョブをトラブルシューティングする方法

Service Manager では、データ ウェアハウス ジョブに関連する問題が発生する可能性があります。 データ ウェアハウス登録ウィザードが完了し、Service Manager コンソールでレポートが使用可能になったら、レポートの実行を開始できます。 たとえば、実行したインシデント管理レポートに更新されたデータが表示されない場合は、Windows PowerShell コマンドレットを使用して問題のトラブルシューティングを行うことができます。

最初の手順を使用すると、Windows PowerShell コマンドレットを使用してジョブが失敗したかどうかを判定し、このジョブが作成したエラー メッセージを評価できます。

2 番目のプロシージャを使用して、既定の変換ジョブのタイムアウト期間を変更できます。 データ ウェアハウス変換ジョブが正常に完了しない場合は、ジョブの既定の 3 時間のタイムアウト期間が超えられている可能性があります。 これは、大量のデータがデータ ウェアハウスで変換されるために発生する可能性があります。 これが実際に起こっていることを確認するには、Data Warehouse のイベント ビューアーで、「操作が完了する前にタイムアウト期間が経過したか、サーバーが応答していません。」というようなメッセージをモジュールに対して表示できることを確認してください。 たとえば、TransformEntityRelatesToEntityFact モジュールに関する上記のメッセージが表示される場合があります。 この場合の問題を解決するには、タイムアウト期間を既定値の 10800 秒より長く設定します。

Windows PowerShell コマンドレットを使用してデータ ウェアハウス ジョブのトラブルシューティングを行うには、次の手順に従います。

  1. データ ウェアハウス管理サーバーをホストしているコンピューターで、 Windows PowerShellを開始します。

  2. 次のコマンドを入力し、Enter キーを押します。

    Get-SCDWJob
    
  3. 出力を確認し、 Failed 状態のジョブを見つけます。

  4. 次のコマンドを入力し、Enter キーを押します。 このとき、 JobName パラメーターの値として、失敗したデータ ウェアハウス ジョブを指定します。

    Get-SCDWJobModule -JobName Transform.Common
    
  5. 出力で "Failed" という状態を見つけます。[ エラー メッセージ ] 列で、データ ウェアハウス ジョブが失敗した原因に関する詳しい情報を確認します。

  6. 失敗したジョブを再試行する準備ができたら、Service Manager コンソールで Data Warehouse を選択します。

  7. [ Data Warehouse を展開し、 Data Warehouse ジョブを選択します。

  8. Data Warehouse ジョブ ペインで、一覧で失敗したジョブを選択し、タスク の一覧で 再開 を選択します。

次のステップ