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