Добавление элемента коллекции в набор коллекций (Transact-SQL)
Область применения: SQL Server
Добавить новый элемент сбора в существующий набор сбора можно с помощью хранимых процедур, предоставляемых вместе со сборщиком данных.
Выполните следующие действия с помощью Редактор запросов в SQL Server Management Studio.
Добавление элемента сбора в набор элементов сбора
Остановите набор коллекций, к которому нужно добавить элемент, выполнив хранимую
sp_syscollector_stop_collection_set
процедуру. Например, чтобы остановить набор сбора с именем «Тестовый набор сбора», выполните следующие инструкции: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;
Примечание.
Вы также можете остановить набор коллекций с помощью обозреватель объектов в SQL Server Management Studio. Дополнительные сведения см. в разделе "Запуск или остановка набора коллекций".
Объявите набор сбора, в который нужно добавить элемент сбора. В следующем коде представлен пример объявления идентификатора набора сбора.
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
Объявление типа сборщика. В следующем коде представлен пример объявления типа сборщика «Универсальный запрос T-SQL».
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';
С помощью приведенного ниже кода можно получить список установленных типов сборщика:
USE msdb; GO SELECT * FROM syscollector_collector_types; GO
Выполните хранимую
sp_syscollector_create_collection_item
процедуру, чтобы создать элемент коллекции. Необходимо объявить схему для элемента сбора, чтобы он был сопоставлен с требуемой схемой для сборщика нужного типа. В следующем примере используется схема «Универсальный запрос T-SQL».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;
Перед запуском обновленного набора сбора запустите следующий запрос, чтобы убедиться, что новый элемент сбора был создан:
USE msdb; GO SELECT * from syscollector_collection_sets; SELECT * from syscollector_collection_items; GO
Наборы сбора и их элементы сбора отображаются на вкладке Результаты .