sp_syscollector_create_collection_item (Transact-SQL)
Область применения: SQL Server
Создает элемент сбора в определяемом пользователем наборе сбора. Элемент сбора определяет, какие данные должны собираться, а также частоту их сбора.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_syscollector_create_collection_item
[ @collection_set_id = ] collection_set_id
, [ @collector_type_uid = ] 'collector_type_uid'
, [ @name = ] N'name'
[ , [ @frequency = ] frequency ]
[ , [ @parameters = ] N'parameters' ]
, [ @collection_item_id = ] collection_item_id OUTPUT
[ ; ]
Аргументы
[ @collection_set_id = ] collection_set_id
Уникальный локальный идентификатор набора коллекций. @collection_set_id не используется без значения по умолчанию.
[ @collector_type_uid = ] 'collector_type_uid'
GUID, определяющий тип сборщика, используемый для этого элемента. @collector_type_uid является уникальным идентификатором без значения по умолчанию. Для списка типов сборщиков запросите системное syscollector_collector_types
представление.
[ @name = ] N'name'
Имя элемента сбора. @name является sysname и не может быть пустой строкой или NULL
.
@name должен быть уникальным. Чтобы получить список текущих имен элементов коллекции, выполните запрос к системным представлениям syscollector_collection_items
.
[ @frequency = ] частота
Используется для указания (в секундах) частоты сбора данных. @frequency имеет значение int с значением по умолчанию5
. Минимальное значение, которое можно указать, составляет 5 секунд.
Если набор коллекций имеет не кэшированный режим, частота игнорируется, так как этот режим вызывает сбор данных и отправку данных по расписанию, указанному для набора коллекций. Чтобы просмотреть режим сбора набора, запросите системное представление syscollector_collection_sets (Transact-SQL).
[ @parameters = ] N'parameters'
Входные параметры для типа сборщика. @parameters имеет значение XML с значением по умолчаниюNULL
. Схема @parameters должна соответствовать схеме параметров типа сборщика.
[ @collection_item_id = ] collection_item_id OUTPUT
Уникальный идентификатор, определяющий элемент набора коллекций. @collection_item_id — это параметр OUTPUT типа int.
Значения кода возврата
0
(успешно) или 1
(сбой).
Замечания
sp_syscollector_create_collection_item
должен выполняться в контексте msdb
системной базы данных.
Набор сбора, в который добавляется элемент сбора, необходимо остановить перед созданием элемента сбора. Элементы коллекции нельзя добавить в системные наборы коллекций.
Разрешения
Для выполнения этой процедуры требуется членство в предопределенных ролевые роли базы данных dc_admin (с разрешением EXECUTE).
Примеры
В следующем примере элемент сбора создается на основе типа сборщика Generic T-SQL Query Collector Type
и добавляется в набор сбора Simple collection set test 2
. Чтобы создать указанный набор коллекций, выполните пример B в 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 T-SQL query collector item',
@frequency = 6000,
@parameters = @params,
@collection_item_id = @collection_item_id OUTPUT;
Связанный контент
- Системные хранимые процедуры (Transact-SQL)
- Сбор данных
- sp_syscollector_update_collection_item (Transact-SQL)
- sp_syscollector_delete_collection_item (Transact-SQL)
- syscollector_collector_types (Transact-SQL)
- sp_syscollector_create_collection_set (Transact-SQL)
- syscollector_collection_items (Transact-SQL)