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


sp_syscollector_create_collection_set (Transact-SQL)

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

Предупреждение

Если учетная запись Windows, настроенная как посредник, используется неинтерактивным или интерактивным пользователем, который еще не выполнил вход, то каталог профиля не будет создан, а создание промежуточного каталога будет невозможно.Вследствие этого при использовании учетной записи-посредника на контроллере домена необходимо указать интерактивную учетную запись, которая была использована хотя бы один раз, для того чтобы обеспечить создание каталога профиля.

Применимо для следующих объектов: SQL Server (начиная с SQL Server 2008 до текущей версии).

Значок ссылки на раздел Синтаксические обозначения в 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 с OUTPUT и является обязательным.

  • [ @collection\_set\_uid = ] 'collection_set_uid'
    Идентификатор GUID набора элементов сбора. Аргумент collection_set_uid имеет тип uniqueidentifier с OUTPUT, которому по умолчанию присвоено значение 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;

См. также

Задания

Создание пользовательского набора элементов сбора, использующего тип сборщика «Универсальный запрос T-SQL» (Transact-SQL)

Справочник

Хранимые процедуры сборщика данных (Transact-SQL)

syscollector_collection_sets (Transact-SQL)

Основные понятия

Сбор данных