コレクション アイテムをコレクション セットに追加する方法
データ コレクタに備わっているストアド プロシージャを使用して、コレクション アイテムを既存のコレクション セットに追加できます。
SQL Server Management Studio のクエリ エディタを使用して、次の手順を実行します。
コレクション アイテムのコレクション セットへの追加
sp_syscollector_stop_collection_set ストアド プロシージャを実行して、アイテムを追加するコレクション セットを停止します。たとえば、"Test Collection Set" という名前のコレクション セットを停止するには、次のステートメントを実行します。
USE msdb 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 USE msdb 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
注 SQL Server Management Studio でオブジェクト エクスプローラを使用してコレクション セットを停止することもできます。詳細については、「コレクション セットを開始または停止する方法」を参照してください。
コレクション アイテムを追加するコレクション セットを宣言します。次のコードは、コレクション セット 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 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
コレクタ型を宣言します。次のコードは、ジェネリック 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'; 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 SELECT * from syscollector_collector_types GO USE msdb SELECT * from syscollector_collector_types GO
詳細については、「コレクタ型」を参照してください。
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
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
更新されたコレクション セットを開始する前に、次のクエリを実行して新しいコレクション アイテムが作成されていることを確認します。
USE msdb SELECT * from syscollector_collection_sets SELECT * from syscollector_collection_items GO USE msdb SELECT * from syscollector_collection_sets SELECT * from syscollector_collection_items GO
コレクション セットとそのコレクション アイテムは、[結果] タブに表示されます。