Aggiunta di un elemento della raccolta a un set di raccolta (Transact-SQL)Add a Collection Item to a Collection Set (Transact-SQL)

È possibile aggiungere un elemento della raccolta a un set di raccolta esistente utilizzando le stored procedure fornite con l'agente di raccolta dati.You can add a collection item to an existing collection set using the stored procedures that are provided with the data collector.

Eseguire i seguenti passaggi utilizzando l'Editor di query in SQL Server Management StudioSQL Server Management Studio.Carry out the following steps using Query Editor in SQL Server Management StudioSQL Server Management Studio.

Aggiunta di un elemento della raccolta a un set di raccolteAdd a collection item to a collection set

  1. Arrestare il set di raccolta a cui aggiungere l'elemento eseguendo la stored procedure sp_syscollector_stop_collection_set .Stop the collection set that you want to add the item to by running the sp_syscollector_stop_collection_set stored procedure. Ad esempio, per arrestare un set di raccolta denominato "Test Collection Set", eseguire le istruzioni seguenti:For example, to stop a collection set that is named "Test Collection Set", run the following statements:

    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 arrestare il set di raccolta utilizzando Esplora oggetti in SQL Server Management StudioSQL Server Management Studio.You can also stop the collection set by using Object Explorer in SQL Server Management StudioSQL Server Management Studio. Per altre informazioni, vedere Avviare o arrestare un set di raccolta.For more information, see Start or Stop a Collection Set.

  2. Dichiarare il set di raccolta al quale si desidera aggiungere l'elemento della raccolta.Declare the collection set that you want to add the collection item to. Nel codice seguente viene fornito un esempio su come dichiarare l'ID del set di raccolta.The following code provides an example of how to declare the collection set 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. Dichiarare il tipo di agente di raccolta.Declare the collector type. Nel codice seguente viene fornito un esempio su come dichiarare il tipo di agente di raccolta Query T-SQL generico.The following code provides an example of how to declare the Generic T-SQL Query collector type.

    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:You can run the following code to obtain a list of the installed collector types:

    USE msdb  
    SELECT * from syscollector_collector_types  
    GO  
    
  4. Eseguire la stored procedure sp_syscollector_create_collection_item per creare l'elemento della raccolta.Run the sp_syscollector_create_collection_item stored procedure to create the collection item. È necessario dichiarare lo schema per l'elemento della raccolta in modo tale da eseguirne il mapping allo schema richiesto per il tipo di agente di raccolta desiderato.You must declare the schema for the collection item so that it maps to the required schema for the desired collector type. Nell'esempio seguente viene utilizzato lo schema di input Query T-SQL generico.The following example uses the Generic T-SQL Query input schema.

    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 della raccolta sia stato creato:Before starting the updated collection set, run the following query to verify that the new collection item has been created:

    USE msdb  
    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 .The collection sets and their collection items are displayed in the Results tab.

Vedere ancheSee Also

Creare un set di raccolta personalizzato che usa il tipo agente di raccolta Query T-SQL generico (Transact-SQL) Create a Custom Collection Set That Uses the Generic T-SQL Query Collector Type (Transact-SQL)
Stored procedure dell'agente di raccolta dati (Transact-SQL) Data Collector Stored Procedures (Transact-SQL)