Condividi tramite


Aggiungere un elemento dell'insieme a un set di raccolta (Transact-SQL)

Si applica a: SQL Server

È possibile aggiungere un elemento dell'insieme a un set di raccolta esistente utilizzando le stored procedure fornite con l'agente di raccolta dati.

Eseguire i seguenti passaggi usando l'editor di query in SQL Server Management Studio.

Aggiunta di un elemento dell'insieme a un set di raccolte

  1. Arrestare il set di raccolta a cui aggiungere l'elemento eseguendo la stored procedure sp_syscollector_stop_collection_set. Ad esempio, per arrestare un set di raccolta denominato "Test Collection Set", eseguire le istruzioni seguenti:

    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;
    

    Nota

    È anche possibile arrestare il set di raccolta utilizzando Esplora oggetti in SQL Server Management Studio. Per altre informazioni, vedere Avviare o arrestare un set di raccolta.

  2. Dichiarare il set di raccolta al quale si desidera aggiungere l'elemento dell'insieme. Nel codice seguente viene fornito un esempio su come dichiarare l'ID del set di raccolta.

    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. Dichiarare il tipo di agente di raccolta. Nel codice seguente viene fornito un esempio su come dichiarare il tipo di agente di raccolta Query T-SQL generico.

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

    È possibile eseguire il codice seguente per ottenere un elenco dei tipi di agente di raccolta installati:

    USE msdb;
    GO
    
    SELECT * FROM syscollector_collector_types;
    GO
    
  4. Eseguire la stored procedure sp_syscollector_create_collection_item per creare l'elemento dell'insieme. È necessario dichiarare lo schema per l'elemento dell'insieme in modo tale da eseguirne il mapping allo schema richiesto per il tipo di agente di raccolta desiderato. Nell'esempio seguente viene utilizzato lo schema di input Query T-SQL generico.

    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. Prima di avviare il set di raccolta aggiornato, eseguire la query seguente per verificare che il nuovo elemento dell'insieme sia stato creato:

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

    I set di raccolta e i rispettivi elementi della raccolta sono visualizzati nella scheda Risultati .