Condividi tramite


Procedura: Aggiunta di un elemento della raccolta a un insieme di raccolta

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

Eseguire i seguenti passaggi utilizzando l'Editor di query in SQL Server Management Studio.

Aggiunta di un elemento della raccolta a un insieme di raccolte

  1. Interrompere l'insieme di raccolta al quale si desidera aggiungere l'elemento eseguendo la stored procedure sp_syscollector_stop_collection_set . Ad esempio, per interrompere un insieme di raccolta denominato "Test Collection Set", eseguire le istruzioni seguenti:

    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
    

    Nota

    È anche possibile interrompere l'insieme di raccolta utilizzando Esplora oggetti in SQL Server Management Studio. Per ulteriori informazioni, vedere Procedura: Avvio o arresto di un insieme di raccolta.

  2. Dichiarare l'insieme di raccolta al quale si desidera aggiungere l'elemento della raccolta. Nel codice seguente viene fornito un esempio su come dichiarare l'ID dell'insieme 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
    SELECT * from syscollector_collector_types
    GO
    

    Per ulteriori informazioni, vedere Tipi di agente di raccolta.

  4. Eseguire la stored procedure sp_syscollector_create_collection_item per creare l'elemento della raccolta. È necessario dichiarare lo schema per l'elemento della raccolta in modo tale che verrà mappato 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 l'insieme di raccolta aggiornato, eseguire la query seguente per verificare che il nuovo elemento della raccolta sia stato creato:

    USE msdb
    SELECT * from syscollector_collection_sets
    SELECT * from syscollector_collection_items
    GO
    

    Gli insiemi di raccolta e i rispettivi elementi della raccolta sono visualizzati nella scheda Risultati.