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


sp_syscollector_create_collection_set (Transact-SQL)

Область применения: SQL Server

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

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

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

Соглашения о синтаксисе Transact-SQL

Синтаксис

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

Аргументы

[ @name = ] N'name'

Имя набора элементов сбора. @name является sysname и не может быть пустой строкой или NULL.

@name должен быть уникальным. Для списка имен текущих наборов коллекций запросите системное syscollector_collection_sets представление.

[ @target = ] N'target'

Зарезервировано для последующего использования. @target — nvarchar(128) с значением по умолчаниюNULL.

[ @collection_mode = ] collection_mode

@collection_mode имеет небольшой размер с значением по умолчанию0.

Определяет способ, с помощью которого данные собираются и хранятся. @collection_mode имеет значение smallint с значением по умолчанию 0и может иметь одно из следующих значений:

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

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

При @collection_mode 0необходимо указать @schedule_uid или @schedule_name.

[ @days_until_expiration = ] days_until_expiration

Число дней, в течение которых собранные данные хранятся в хранилище данных управления. @days_until_expiration имеет небольшой размер с значением по умолчанию 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 = ] N'proxy_name'

Имя учетной записи-посредника. @proxy_name — sysname с значением по умолчаниюNULL. Если задано, @proxy_id должен быть NULL. Чтобы получить @proxy_name, выполните запрос к системной sysproxies таблице.

[ @schedule_uid = ] 'schedule_uid'

GUID, указывающий на расписание. @schedule_uid является уникальным идентификатором по умолчаниюNULL. Если задано, @schedule_name должен быть NULL. Чтобы получить @schedule_uid, выполните запрос к системной sysschedules таблице.

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

[ @schedule_name = ] N'schedule_name'

Имя расписания. @schedule_name — sysname с значением по умолчаниюNULL. Если задано, @schedule_uid должен быть NULL. Чтобы получить @schedule_name, выполните запрос к системной sysschedules таблице.

[ @logging_level = ] logging_level

Уровень ведения журнала. @logging_level имеет небольшой размер с значением по умолчанию 1с одним из следующих значений:

  • 0: сведения о выполнении журнала и события служб SSIS, отслеживающие:

    • Запуск и остановку наборов сбора.
    • Запуск и остановку пакетов.
    • Сведения об ошибках.
  • 1: ведение журнала уровня 0 и:

    • Статистика выполнения.
    • Ход непрерывно работающего сбора.
    • Предупреждения из служб SSIS
  • 2: ведение журнала на уровне 1 и подробные сведения о событиях из служб SSIS.

[ @description = ] N'description'

Описание набора коллекций. @description — nvarchar(4000) с значением по умолчаниюNULL.

[ @collection_set_id = ] collection_set_id OUTPUT

Уникальный локальный идентификатор набора коллекций. @collection_set_id — это параметр OUTPUT типа int.

[ @collection_set_uid = ] "collection_set_uid" OUTPUT

Имеет значение GUID для набора элементов сбора. @collection_set_uid — это параметр OUTPUT типа uniqueidentifier.

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

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

B. Создание набора коллекций с помощью указанных значений

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

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;
GO