Freigeben über


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

  1. 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
    
    HinweisHinweis

    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.

  2. 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
    
  3. 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
    
  4. 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   
    
  5. 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.

Siehe auch

Aufgaben

Erstellen eines benutzerdefinierten Sammlungssatzes, der einen generischen T-SQL-Abfragesammlertyp verwendet (Transact-SQL)

Verweis

Gespeicherte Prozeduren für den Datensammler (Transact-SQL)