Поделиться через


sp_syscollector_create_collection_set (Transact-SQL)

Создает новый набор сбора. При помощи этой хранимой процедуры можно создать пользовательский набор сбора для сбора данных.

Значок ссылки на разделСоглашение о синтаксисе в Transact-SQL

Синтаксис

sp_syscollector_create_collection_set 
          [ @name = ] 'name'
        , [ [ @target = ] 'target' ]
        , [ [ @collection_mode = ] collection_mode ]
        , [ [ @days_until_expiration = ] days_until_expiration ]
        , [ [ @proxy_id = ] proxy_id ]
        , [ [ @proxy_name = ] 'proxy_name' ]
        , [ [ @schedule_uid = ] 'schedule_uid' ]
        , [ [ @schedule_name = ] 'schedule_name' ]
        , [ [ @logging_level = ] logging_level ]
        , [ [ @description = ] 'description' ]
        , [ @collection_set_id = ] collection_set_id OUTPUT 
        , [ [ @collection_set_uid = ] 'collection_set_uid' OUTPUT ]

Аргументы

  • [ @name = ] 'name'
    Имя набора сбора. Аргумент name имеет тип sysname и не может быть пустой строкой или иметь значение NULL.

    Аргумент name должен быть уникальным. Чтобы получить список имен текущего набора сбора, выполните запрос системного представления syscollector_collection_sets.

  • [ @target = ] 'target'
    Зарезервировано для использования в будущем. Аргумент name имеет тип nvarchar(128) и значение по умолчанию NULL.

  • [ @collection\_mode = ] collection_mode
    Указывает способ, которым собираются и хранятся данные. Аргумент collection_mode имеет тип smallint и может иметь одно из следующих значений.

    0 — режим с кэшированием. Сбор и передача данных выполняются по отдельным расписаниям. Укажите кэшированный режим для непрерывного сбора.

    1 — режим без кэширования. Сбор и передача данных выполняются по общему расписанию. Укажите некэшированный режим для нерегламентированного сбора или создания моментального снимка.

    Значение аргумента collection_mode по умолчанию — 0. Когда аргумент collection_mode имеет значение 0, необходимо указать schedule_uid или schedule_name.

  • [ @days\_until\_expiration = ] days_until_expiration
    Число дней, в течение которых собранные данные хранятся в хранилище управляющих данных. Аргумент days_until_expiration имеет тип smallint со значением по умолчанию 730 (два года). Аргумент days_until_expiration должен имеет значение 0 или положительное целое число.

  • [ @proxy\_id = ] proxy_id
    Уникальный идентификатор учетной записи-посредника агента SQL Server. Параметр proxy_id имеет тип int со значением по умолчанию NULL. Если он указан, аргумент proxy_name должен иметь значение NULL. Чтобы получить аргумент proxy_id, выполните запрос системной таблицы sysproxies. Предопределенная роль базы данных dc_admin должна иметь разрешение на доступ к посреднику. Дополнительные сведения см. в разделе Создание учетных записей-посредников агента SQL Server.

  • [ @proxy\_name = ] 'proxy_name'
    Имя учетной записи-посредника. Аргумент proxy_name имеет тип sysname и значение по умолчанию NULL. Если он указан, аргумент proxy_id должен иметь значение NULL. Чтобы получить аргумент proxy_name, выполните запрос системной таблицы sysproxies.

  • [ @schedule\_uid = ] 'schedule_uid'
    Идентификатор GUID, указывающий на расписание. Аргумент schedule_uid имеет тип uniqueidentifier и значение по умолчанию NULL. Если он указан, аргумент schedule_name должен иметь значение NULL. Чтобы получить аргумент schedule_uid, выполните запрос системной таблицы sysschedules.

    Когда аргументу collection_mode задано значение 0, необходимо указать schedule_uid или schedule_name. Когда аргументу collection_mode задано значение 1, то, если указан schedule_uid или schedule_name, он пропускается.

  • [ @schedule\_name = ] 'schedule_name'
    Имя расписания. Аргумент schedule_name имеет тип sysname и значение по умолчанию NULL. Если он указан, аргумент schedule_uid должен иметь значение NULL. Чтобы получить аргумент schedule_name, выполните запрос системной таблицы sysschedules.

  • [ @logging\_level = ] logging_level
    Уровень ведения журнала. Параметр logging_level имеет тип smallint и может иметь одно из следующих значений.

    0 - регистрировать сведения о выполнении и события служб SSIS, которые отслеживают:

    • Запуск и остановку наборов сбора.

    • Запуск и остановку пакетов.

    • Сведения об ошибках.

    1 - ведение журнала на уровне -0, а также:

    • Статистика выполнения.

    • Ход непрерывно работающего сбора.

    • Предупреждающие события от служб SSIS.

    2 - ведение журнала на уровне -1, а также запись подробных сведений о событиях служб SSIS

    Значение logging_level по умолчанию равно 1.

  • [ @description = ] 'description'
    Описание набора сбора. Аргумент description имеет тип nvarchar(4000) и значение по умолчанию NULL.

  • [ @collection\_set\_id = ] collection_set_id
    Уникальный локальный идентификатор набора сбора. Аргумент collection_set_id имеет тип int, является выходным и обязательным.

  • [ @collection\_set\_uid = ] 'collection_set_uid'
    Идентификатор GUID для набора сбора. Аргумент collection_set_uid имеет тип uniqueidentifier и выходной параметр со значением по умолчанию NULL.

Значения кода возврата

0 (успешное завершение) или 1 (неуспешное завершение)

Замечания

Функция sp_syscollector_create_collection_set должна выполняться в контексте системной базы данных msdb.

Разрешения

Для выполнения этой процедуры требуется членство в предопределенной роли базы данных dc_admin (с разрешением EXECUTE).

Примеры

А. Создание набора сбора при помощи значений по умолчанию

В следующем примере набор сбора создается путем указания только обязательных параметров. Параметр @collection\_mode не является обязательным, однако режим сбора по умолчанию (кэшированный) требует указания идентификатора или имени расписания.

USE msdb;
GO
DECLARE @collection_set_id int;
EXECUTE dbo.sp_syscollector_create_collection_set
    @name = N'Simple collection set test 1',
    @description = N'This is a test collection set that runs in non-cached mode.',
    @collection_mode = 1,
    @collection_set_id = @collection_set_id OUTPUT;
GO

Б. Создание набора сбора при помощи указанных значений

В следующем примере набор сбора создается путем указания значений для многих параметров.

USE msdb;
GO
DECLARE @collection_set_id int;
DECLARE @collection_set_uid uniqueidentifier;
SET @collection_set_uid = NEWID();
EXEC dbo.sp_syscollector_create_collection_set
    @name = N'Simple collection set test 2',
    @collection_mode = 0,
    @days_until_expiration = 365,
    @description = N'This is a test collection set that runs in cached mode.',
    @logging_level = 2,
    @schedule_name = N'CollectorSchedule_Every_30min',
    @collection_set_id = @collection_set_id OUTPUT,
    @collection_set_uid = @collection_set_uid OUTPUT;