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


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