Hinzufügen eines Sammelelements zu einem Sammlungssatz (Transact-SQL)
Sie können einem vorhandenen Sammlungssatz mithilfe der mit dem Datensammler bereitgestellten gespeicherten Prozeduren ein Sammlungselement hinzufügen.
Führen Sie die folgenden Schritte mithilfe des Abfrage-Editors in SQL Server Management Studio aus.
Hinzufügen eines Sammelelements zu einem Sammlungssatz
Beenden Sie den Sammlungssatz, dem Sie das Element hinzufügen möchten, in dem Sie die gespeicherte Prozedur sp_syscollector_stop_collection_set ausführen. Um beispielsweise einen Sammlungssatz mit dem Namen "Test Collection Set" zu beenden, führen Sie die folgenden Anweisungen aus.
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
Hinweis Sie können den Sammlungssatz auch durch Verwendung des Objekt-Explorers in SQL Server Management Studio beenden Weitere Informationen finden Sie unter Starten oder Beenden eines Sammlungssatzes.
Deklarieren Sie den Sammlungssatz, dem Sie das Sammelelement hinzufügen möchten. Der folgende Code bietet ein Beispiel für das Deklarieren der Sammlungssatz-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
Deklarieren Sie den Sammlertyp. Der folgende Code bietet ein Beispiel für das Deklarieren des generischen T-SQL-Abfragesammlertyps.
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';
Führen Sie den folgenden Code aus, um eine Liste der installierten Sammlertypen abzurufen:
USE msdb SELECT * from syscollector_collector_types GO
Führen Sie die gespeicherte Prozedur sp_syscollector_create_collection_item aus, um das Sammlungselement zu erstellen. Das Schema für das Sammelelement muss so deklariert werden, dass es dem erforderlichen Schema für den gewünschten Sammlertyp zugeordnet wird. Im folgenden Beispiel wird das Eingabeschema der generischen T-SQL-Abfrage verwendet.
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
Bevor Sie den aktualisierten Sammlungssatz starten, führen Sie die folgende Abfrage aus, um zu überprüfen, ob das neue Sammelelement erstellt wurde:
USE msdb SELECT * from syscollector_collection_sets SELECT * from syscollector_collection_items GO
Die Sammlungssätze und ihre Sammlungselemente werden auf der Registerkarte Ergebnisse angezeigt.