Share via


Hinzufügen eines Sammlungselements zu einem Sammlungssatz (Transact-SQL)

Gilt für:SQL Server

Sie können einem vorhandenen Sammlungssatz mithilfe der mit dem Datensammler bereitgestellten gespeicherten Prozeduren ein Sammlungselement hinzufügen.

Führen Sie die folgenden Schritte mit Abfrage-Editor 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, indem Sie die sp_syscollector_stop_collection_set gespeicherte Prozedur ausführen. Um beispielsweise einen Sammlungssatz mit dem Namen "Test Collection Set" zu beenden, führen Sie die folgenden Anweisungen aus.

    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;
    

    Hinweis

    Sie können die Sammlung auch beenden, indem Sie Objekt-Explorer in SQL Server Management Studio verwenden. 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;
    GO
    
    SELECT * FROM syscollector_collector_types;
    GO
    
  4. Führen Sie die sp_syscollector_create_collection_item gespeicherte Prozedur 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;
    GO
    SELECT * from syscollector_collection_sets;
    SELECT * from syscollector_collection_items;
    GO
    

    Die Sammlungssätze und ihre Sammlungselemente werden auf der Registerkarte Ergebnisse angezeigt.