sp_syscollector_create_collection_item (Transact-SQL)
Создает элемент сбора в определяемом пользователем наборе сбора. Элемент сбора определяет, какие данные должны собираться, а также частоту их сбора.
Синтаксис
sp_syscollector_create_collection_item
[ @collection_set_id = ] collection_set_id
, [ @collector_type_uid = ] 'collector_type_uid'
, [ @name = ] 'name'
, [ [ @frequency = ] frequency ]
, [ @parameters = ] 'parameters'
, [ @collection_item_id = ] collection_item_id OUTPUT
Аргументы
[ @collection\_set\_id = ] collection_set_id
Уникальный локальный идентификатор набора сбора. Аргумент collection_set_id имеет тип int.[ @collector\_type\_uid = ] 'collector_type_uid'
Идентификатор GUID, определяющий тип сборщика, который должен использоваться для этого элемента. Аргумент collector_type_uid имеет тип uniqueidentifier и не имеет значения по умолчанию. Чтобы получить список типов сборщиков, выполните запрос системного представления syscollector_collector_types.[ @name = ] 'name'
Имя элемента сбора. Аргумент name имеет тип sysname и не может быть пустой строкой или иметь значение NULL.Аргумент name должен быть уникальным. Чтобы получить список имен элементов текущего сбора, выполните запрос системного представления syscollector_collection_items.
[ @frequency = ] frequency
Используется для указания времени (в секундах), определяющего, насколько часто этот элемент сбора собирает данные. Аргумент frequency имеет тип int и значение 5 по умолчанию. Минимальное значение, которое можно указать, составляет 5 секунд.Если набор сбора настроен на режим без кэширования, частота не учитывается, поскольку этот режим предусматривает выполнение сбора данных и передачу по расписанию, указанному для набора сбора. Чтобы определить режим сбора набора сбора, выполните запрос к системному представлению syscollector_collection_sets.
[ @parameters = ] 'parameters'
Входные параметры для типа сборщика. Аргумент parameters имеет тип xml и значение по умолчанию NULL. Схема parameters должна совпадать со схемой параметров типа сборщика.[ @collection\_item\_id = ] collection_item_id
Уникальный идентификатор элемента набора сбора. Аргумент collection_item_id имеет тип int и является выходным (OUTPUT).
Значения кода возврата
0 (успешное завершение) или 1 (неуспешное завершение)
Замечания
Функция sp_syscollector_create_collection_item должна выполняться в контексте системной базы данных msdb.
Набор сбора, в который добавляется элемент сбора, необходимо остановить перед созданием элемента сбора. Добавлять элементы сбора в системные наборы сбора невозможно.
Разрешения
Для выполнения этой процедуры требуется членство в предопределенной роли базы данных dc_admin (с разрешением EXECUTE).
Примеры
В следующем примере элемент сбора создается на основе типа сборщика Generic T-SQL Query Collector Type и добавляется в набор сбора Simple collection set test 2. Чтобы создать указанный набор сбора, выполните пример Б в sp_syscollector_create_collection_set (Transact-SQL).
USE msdb;
GO
DECLARE @collection_item_id int;
DECLARE @collection_set_id int = (SELECT collection_set_id
FROM syscollector_collection_sets
WHERE name = N'Simple collection set test 2');
DECLARE @collector_type_uid uniqueidentifier =
(SELECT collector_type_uid
FROM syscollector_collector_types
WHERE name = N'Generic T-SQL Query Collector Type');
DECLARE @params xml =
CONVERT(xml, N'<ns:TSQLQueryCollector xmlns:ns="DataCollectorType">
<Query>
<Value>SELECT * FROM sys.objects</Value>
<OutputTable>MyOutputTable</OutputTable>
</Query>
<Databases>
<Database> UseSystemDatabases = "true"
UseUserDatabases = "true"
</Database>
</Databases>
</ns:TSQLQueryCollector>');
EXEC sp_syscollector_create_collection_item
@collection_set_id = @collection_set_id,
@collector_type_uid = @collector_type_uid,
@name = 'My custom TSQL query collector item',
@frequency = 6000,
@parameters = @params,
@collection_item_id = @collection_item_id OUTPUT;
См. также