次の方法で共有


コレクション アイテムをコレクション セットに追加する (Transact-SQL)

適用対象: SQL Server

データ コレクターに備わっているストアド プロシージャを使用して、コレクション アイテムを既存のコレクション セットに追加できます。

SQL Server Management Studio のクエリ エディターを使用して、次の手順を実行します。

コレクション アイテムのコレクション セットへの追加

  1. sp_syscollector_stop_collection_set ストアド プロシージャを実行して、アイテムを追加するコレクション セットを停止します。 たとえば、"Test Collection Set" という名前のコレクション セットを停止するには、次のステートメントを実行します。

    USE msdb;
    GO
    
    DECLARE @csid INT;
    
    SELECT @csid = collection_set_id
    FROM syscollector_collection_sets
    WHERE name = 'Test Collection Set';
    
    SELECT @csid;
    
    EXEC dbo.sp_syscollector_stop_collection_set @collection_set_id = @csid;
    

    Note

    SQL Server Management Studio でオブジェクト エクスプローラーを使用してコレクション セットを停止することもできます。 詳細については、「コレクション セットの開始または停止」を参照してください。

  2. コレクション アイテムを追加するコレクション セットを宣言します。 次のコードは、コレクション セット ID を宣言する例です。

    DECLARE @collection_set_id_1 INT;
    
    SELECT @collection_set_id_1 = collection_set_id
    FROM msdb.dbo.syscollector_collection_sets
    WHERE name = N'Test Collection Set';-- name of collection set
    
  3. コレクター型を宣言します。 次のコードは、ジェネリック T-SQL Query コレクター型を宣言する例です。

    DECLARE @collector_type_uid_1 UNIQUEIDENTIFIER;
    
    SELECT @collector_type_uid_1 = collector_type_uid
    FROM msdb.dbo.syscollector_collector_types
    WHERE name = N'Generic T-SQL Query Collector Type';
    

    次のコードを実行して、インストールされているコレクター型の一覧を取得できます。

    USE msdb;
    GO
    
    SELECT * FROM syscollector_collector_types;
    GO
    
  4. sp_syscollector_create_collection_item ストアド プロシージャを実行してコレクション項目を作成します。 コレクション アイテムが目的のコレクター型に必要なスキーマにマップされるように、コレクション アイテムのスキーマを宣言する必要があります。 ジェネリック T-SQL Query の入力スキーマを使用する例を次に示します。

    DECLARE @collection_item_id INT;
    
    EXEC msdb.dbo.sp_syscollector_create_collection_item @name = N'OS Wait Stats', --name of collection item
        @parameters = N'
            <ns:TSQLQueryCollector xmlns:ns="DataCollectorType">
             <Query>
              <Value>select * from sys.dm_os_wait_stats</Value>
              <OutputTable>os_wait_stats</OutputTable>
            </Query>
            </ns:TSQLQueryCollector>',
    @collection_item_id = @collection_item_id OUTPUT,
    @frequency = 60,
    @collection_set_id = @collection_set_id_1, --- Provides the collection set ID number
    @collector_type_uid = @collector_type_uid_1;-- Provides the collector type UID
    
    SELECT @collection_item_id;
    
  5. 更新されたコレクション セットを開始する前に、次のクエリを実行して新しいコレクション アイテムが作成されていることを確認します。

    USE msdb;
    GO
    SELECT * from syscollector_collection_sets;
    SELECT * from syscollector_collection_items;
    GO
    

    コレクション セットとそのコレクション アイテムは、 [結果] タブに表示されます。