Delen via


Een collectie-item toevoegen aan een collectieset (Transact-SQL)

van toepassing op:SQL Server-

U kunt een verzamelingsobject toevoegen aan een bestaande verzamelingsset met behulp van de opgeslagen procedures die door de gegevensverzamelaar worden geleverd.

Voer de volgende stappen uit met query-editor in SQL Server Management Studio.

Een verzamelingsitem toevoegen aan een verzamelingsset

  1. Stop de verzameling waaraan u het item wilt toevoegen door de opgeslagen procedure sp_syscollector_stop_collection_set uit te voeren. Voer bijvoorbeeld de volgende instructies uit om een verzamelingsset met de naam Testverzamelingsset te stoppen:

    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;
    

    Notitie

    U kunt de verzamelingenset ook stoppen met objectverkenner in SQL Server Management Studio. Zie Een verzamelingsset starten of stoppenvoor meer informatie.

  2. Geef de verzameling aan waaraan u het item wilt toevoegen. De volgende code bevat een voorbeeld van het declareren van de set-id van de verzameling.

    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. Declareer het type collector. De volgende code bevat een voorbeeld van het declareren van het type algemene T-SQL-queryverzamelaar.

    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';
    

    U kunt de volgende code uitvoeren om een lijst met de geïnstalleerde collectortypen op te halen:

    USE msdb;
    GO
    
    SELECT * FROM syscollector_collector_types;
    GO
    
  4. Voer de opgeslagen procedure sp_syscollector_create_collection_item uit om het collectie-item te maken. U moet het schema voor het collectie-item declareren, zodat het wordt toegewezen aan het vereiste schema voor het gewenste type verzamelaar. In het volgende voorbeeld wordt het algemene T-SQL-queryinvoerschema gebruikt.

    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. Voordat u de bijgewerkte verzamelset start, voert u de volgende query uit om te controleren of het nieuwe verzamelitem is gemaakt.

    USE msdb;
    GO
    SELECT * from syscollector_collection_sets;
    SELECT * from syscollector_collection_items;
    GO
    

    De verzamelingssets en de bijbehorende verzamelingsitems worden weergegeven op het tabblad Resultaten.