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