將收集項加入收集組 (Transact-SQL)
適用於:SQL Server
您可以使用資料收集器所提供的預存程序,將收集項加入到現有的收集組中。
使用 SQL Server Management Studio 中的查詢編輯器執行以下步驟。
將收集項加入收集組
執行
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;
注意
您也可以使用 SQL Server Management Studio 中的 [物件總管] 來停止收集組。 如需詳細資訊,請參閱啟動或停止收集組。
宣告您想要加入收集項的收集組。 下列程式碼會提供如何宣告收集組識別碼的範例。
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 查詢收集器型別的範例。
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
執行
sp_syscollector_create_collection_item
預存程序來建立收集項。 您必須宣告收集項的結構描述,好讓它對應到所需收集器型別的必要結構描述。 下列範例會使用一般 T-SQL 查詢輸入結構描述。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; GO SELECT * from syscollector_collection_sets; SELECT * from syscollector_collection_items; GO
收集組及其收集項都會顯示在 [結果] 索引標籤上。