Partilhar via


Adicionar um item da coleção a um conjunto de coleta (Transact-SQL)

Aplica-se a: SQL Server

Você pode adicionar um item de coleta a um conjunto de coleta existente usando os procedimentos armazenados fornecidos com o coletor de dados.

Execute as etapas a seguir usando o Editor de Consultas no SQL Server Management Studio.

Adicione um item de coleta a um conjunto de coleta

  1. Pare o conjunto de coleta ao qual deseja adicionar o item com a execução do procedimento armazenado sp_syscollector_stop_collection_set. Por exemplo, para parar um conjunto de coleta denominado "Conjunto de Coleta de Teste", execute as seguintes instruções:

    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;
    

    Observação

    Você também pode parar o conjunto de coleta usando o Pesquisador de Objetos no SQL Server Management Studio. Para obter mais informações, confira Iniciar ou parar um conjunto de coleta.

  2. Declare o conjunto de coleta ao qual você deseja adicionar o item de coleta. O código a seguir fornece um exemplo de como declarar a ID do conjunto de coleta.

    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. Declare o tipo de coletor. O código a seguir fornece um exemplo de como declarar o tipo de coletor de Consultas T-SQL Genérico.

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

    Execute o código a seguir para obter uma lista dos tipos de coletores instalados:

    USE msdb;
    GO
    
    SELECT * FROM syscollector_collector_types;
    GO
    
  4. Realize a execução do procedimento armazenado sp_syscollector_create_collection_item para criar o item da coleção. Você deve declarar o esquema do item de coleta para que ele seja mapeado para o esquema necessário para o tipo de coletor desejado. O exemplo a seguir usa o esquema de entrada de Consultas T-SQL Genérico.

    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. Antes de iniciar o conjunto de coleta atualizado, execute a consulta a seguir para verificar se o novo item de coleta foi criado:

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

    Os conjuntos de coleta e seus itens de coleta são exibidos na guia Resultados .