データ コレクション

適用対象:SQL Server

データ コレクターは、さまざまなデータのセットを収集する SQL Server のコンポーネントです。 データ コレクションは、継続的に実行されるかユーザー定義のスケジュールに基づいて実行されます。 データ コレクターは、収集したデータを管理データ ウェアハウスというリレーショナル データベースに格納します。

データ コレクターとは

データ コレクターは、SQL Server のデータ収集プラットフォームの主要なコンポーネントであり、SQL Server によって提供されるツールです。 データ コレクターでは、中心となる 1 つのポイントでデータベース サーバーやアプリケーションのデータを収集できます。 この収集ポイントではさまざまなソースからデータを取得できます。SQL トレースとは異なり、パフォーマンス データに制限されません。

データ コレクターでは、テスト環境や実稼働環境に合わせてデータ収集の範囲を調整できます。 また、データ コレクターはデータ ウェアハウスも使用します。データ ウェアハウスは、データにさまざまな保有期間を設定して収集したデータを管理できるようにするリレーショナル データベースです。

データ コレクターは、データ収集の動的なチューニングをサポートし、その API を通じて拡張できます。 詳細については、「データ コレクターのプログラミング」を参照してください。

SQL Server のデータ収集およびデータ管理の全体的な戦略にデータ コレクターがどのように組み込まれているかを次の図に示します。

Diagram of the data collector's role in data management.

概念

データ コレクターは、 SQL Server エージェントと統合サービスに統合されており、この両方を広範囲にわたって使用します。 したがって、データ コレクターを使用する前に、これらの SQL Server コンポーネントのそれぞれに関連するいくつかの概念を理解しておく必要があります。

SQL Server エージェントは、コレクション ジョブのスケジュールおよび実行のために使用されます。 次の概念を理解しておく必要があります。

  • ジョブ
  • ジョブ ステップ
  • ジョブ スケジュール
  • [サブシステム]
  • プロキシ アカウント

詳細については、「管理タスクの自動化 (SQL Server エージェント)」を参照してください。

統合サービス (SSIS) は、個々のデータ プロバイダーからデータを収集するパッケージを実行するために使用されます。 以下の SSIS ツールと概念を理解しておく必要があります。

  • SSIS パッケージ
  • SSIS パッケージ構成

詳細については、「Integration Services (SSIS) パッケージ」を参照してください。

用語

用語 説明
移行先 データ コレクションをサポートする SQL Server のエディションにおけるデータベースエンジンのインスタンス。 サポートされるエディションの詳細については、「SQL Server 2022 の各エディションがサポートする機能」の「管理の容易性」を参照してください。

対象ルート では、対象となる階層内のサブツリーを定義します。 対象セット は、対象ルートで定義されたサブツリーにフィルターを適用した結果の対象のグループです。 対象ルートはデータベース (SQL Server のインスタンス) またはコンピューター インスタンスです。
ターゲットの型 一定の特性と動作を持つ、対象の種類。 たとえば、SQL Server インスタンスの対象は、SQL Server データベースの対象とは異なる特性を持ちます。
データ プロバイダー コレクター型にデータを提供する、対象の種類に固有の既知のデータ ソース。
コレクターの種類 データの収集および管理データ ウェアハウスへのアップロード用の実際のメカニズムを提供する、SSIS パッケージの論理ラッパー。
コレクション アイテム コレクター型のインスタンス。 コレクション アイテムは、入力プロパティ セットと収集頻度に基づいて作成されます。
コレクション セット コレクション アイテムのグループ。 コレクション セットは、ユーザーがユーザー インターフェイスから操作できるデータ収集の単位です。
コレクション モード データを収集し、格納する方法。 コレクション モードにはキャッシュと非キャッシュがあります。 キャッシュ モードは継続的なコレクションをサポートし、非キャッシュ モードは要求時コレクションまたはコレクションのスナップショットで使用されます。
[管理データ ウェアハウス] 収集したデータを格納するためのリレーショナル データベース。

データ コレクター コンポーネント間の依存関係およびリレーションシップを次の図に示します。

Diagram of data collector functional dependencies.

図に示すように、データ プロバイダーはデータ コレクターの外部にあり、定義することによって対象との暗黙的なリレーションシップを持ちます。 データ プロバイダーは特定の対象 (たとえばリレーショナル エンジンなどの SQL Server サービス) に固有で、SQL Server のシステム ビュー、パフォーマンス モニター カウンター、WMI プロバイダーなど、データ コレクターが使用できるデータを提供します。

コレクター型は、対象の種類に固有であり、対象の種類に対するデータ プロバイダーの論理アソシエーションを基にしています。 コレクター型は、特定のデータ プロバイダーからデータを収集する方法を (スキーマ化されたパラメーターを使用して) 定義し、データ ストレージ スキーマを指定します。 データ プロバイダー スキーマとデータ ストレージ スキーマは、収集したデータを格納するために必要です。 また、コレクター型は、管理データ ウェアハウスの場所も示します。管理データ ウェアハウスは、データ収集を実行するコンピューターにも別のコンピューターにも配置できます。

図に示すコレクション アイテムは、特定のコレクター型のインスタンスで、コレクター型の XML スキーマなどの入力パラメーターでパラメーター化されています。 すべてのコレクション アイテムは、同じ対象ルートまたは空の対象ルート上で操作する必要があります。 これにより、データ コレクターは、異なる対象ルートからではなく、オペレーティング システムまたは特定の対象ルートからコレクター型を結合できます。

コレクション アイテムには、値のスナップショットを取得する頻度を決める、収集の頻度を定義します。 コレクション アイテムは、コレクション セットの構成要素ですが、単独では存在できません。

コレクション セットは、サーバー インスタンス上に定義および配置され、互いに独立して実行できます。 各コレクション セットは、コレクション セットに含まれる全コレクター型の対象の種類に一致する対象に適用できます。 コレクション セットは SQL Server エージェント ジョブによって実行され、定義済みのスケジュールに従ってデータが管理データ ウェアハウスにアップロードされます。

コレクション セット内の別々のインスタンスが収集したデータはすべて同じスケジュールに従って管理データ ウェアハウスにアップロードされます。 このスケジュールは、共有の SQL Server エージェント スケジュールとして定義され、複数のコレクション セットから使用できます。 コレクション セットは、単一のエンティティとしてオンまたはオフになります。コレクション アイテムは個別にオンまたはオフにできません。

コレクション セットを作成または更新する際に、データの収集および管理データ ウェアハウスへのアップロード用のコレクション モードを構成できます。 コレクションの種類は、スケジュールの種類 (キャッシュまたは非キャッシュ) によって決まります。 コレクションがキャッシュ モードの場合、データ収集とタスクのアップロードはそれぞれ個別のジョブで実行されます。 コレクションは、SQL Server エージェントの開始時に開始するスケジュールに基づいて実行され、コレクション アイテムで指定された頻度で実行されます。 アップロードは、ユーザーが指定したスケジュールに従って実行されます。

非キャッシュ モードのコレクションの場合、データ収集とアップロードは、2 段階の単一ジョブで実行されます。 ステップ 1 が収集、ステップ 2 がアップロードです。 要求時コレクションにはスケジュールは必要ありません。

コレクション セットが有効になったら、スケジュールに従うか、または要求に応じて、データ収集を開始できます。 データ収集を開始すると、SQL Server エージェントがデータ コレクターのプロセスを生成し、生成されたプロセスはコレクション セットの統合サービスパッケージを順番に読み込みます。 コレクション型を表すコレクション アイテムは、指定した対象上の適切なデータ プロバイダーからデータを収集します。 収集のサイクルが終わると、このデータは管理データ ウェアハウスにアップロードされます。