sp_syscollector_update_collection_set (Transact-SQL)
Область применения: SQL Server
Используется для изменения свойств или переименования определяемого пользователем набора элементов сбора.
Предупреждение
В случаях, когда учетная запись Windows, настроенная в качестве прокси-сервера, является неинтерактивным или интерактивным пользователем, не вошедшего в систему, каталог профилей не будет существовать, а создание промежуточного каталога завершится ошибкой. Таким образом, если вы используете учетную запись прокси-сервера на контроллере домена, необходимо указать интерактивную учетную запись, которая использовалась по крайней мере один раз, чтобы убедиться, что каталог профилей был создан.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_syscollector_update_collection_set
[ [ @collection_set_id = ] collection_set_id ]
[ , [ @name = ] N'name' ]
[ , [ @new_name = ] N'new_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
Уникальный локальный идентификатор набора коллекций. @collection_set_id имеет значение int и должно иметь значение, если @name .NULL
[ @name = ] N'name'
Имя набора элементов сбора. @name является sysname и должен иметь значение, если @collection_set_idNULL
.
[ @new_name = ] N'new_name'
Новое имя набора коллекций. @new_name имеет имя sysname с значением по умолчанию NULL
и, если используется, не может быть пустой строкой. @new_name должен быть уникальным. Для списка имен текущих наборов коллекций запросите системное syscollector_collection_sets
представление.
[ @target = ] N'target'
Зарезервировано для последующего использования. @target — nvarchar(128) с значением по умолчаниюNULL
.
[ @collection_mode = ] collection_mode
Тип используемой коллекции данных. @collection_mode имеет небольшой размер и может иметь одно из следующих значений:
0
: кэшированный режим. Сбор и передача данных выполняются по отдельным расписаниям. Укажите кэшированный режим для непрерывного сбора.1
: не кэшированный режим. Сбор и передача данных выполняются по общему расписанию. Укажите некэшированный режим для нерегламентированного сбора или создания моментального снимка.
При переходе из не кэшированного режима в кэшированный режим (0
) необходимо также указать @schedule_uid или @schedule_name.
[ @days_until_expiration = ] days_until_expiration
Число дней, в течение которых собранные данные хранятся в хранилище данных управления. @days_until_expiration имеет небольшой размер и должен быть 0
или положительным целым числом.
[ @proxy_id = ] proxy_id
Уникальный идентификатор для учетной записи прокси-сервера агент SQL Server. @proxy_id имеет значение int.
[ @proxy_name = ] N'proxy_name'
Имя учетной записи-посредника. @proxy_name — sysname с значением по умолчаниюNULL
.
[ @schedule_uid = ] 'schedule_uid'
GUID, указывающий на расписание. @schedule_uid является уникальным идентификатором по умолчанию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
.
Значения кода возврата
0
(успешно) или 1
(сбой).
Замечания
sp_syscollector_update_collection_set
должен выполняться в контексте msdb
системной базы данных.
Либо collection_set_id, либо имя должно иметь значение, оба не могут быть NULL
. Чтобы получить эти значения, запросите системное syscollector_collection_sets
представление.
Если набор коллекций запущен, можно обновить только schedule_uid и описание. Чтобы остановить набор коллекций, используйте sp_syscollector_stop_collection_set.
Разрешения
Для выполнения этой процедуры требуется членство в dc_admin или dc_operator (с разрешением EXECUTE). Хотя dc_operator может выполнять эту хранимую процедуру, члены этой роли ограничены в свойствах, которые они могут изменить. Следующие свойства можно изменить только dc_admin:
- @new_name
- @target
- @proxy_id
- @description
- @collection_mode
- @days_until_expiration
Примеры
А. Переименование набора коллекций
В следующем примере показано переименование определяемого пользователем набора элементов сбора.
USE msdb;
GO
EXECUTE dbo.sp_syscollector_update_collection_set
@name = N'Simple collection set test 1',
@new_name = N'Collection set test 1 in cached mode';
GO
B. Изменение режима сбора с не кэшированного на кэшированный
В следующем примере режим сбора изменяется с некэшированного на кэшированный. Для этого изменения требуется указать идентификатор или имя расписания.
USE msdb;
GO
EXECUTE dbo.sp_syscollector_update_collection_set
@name = N'Collection set test 1 in cached mode',
@collection_mode = 0,
@schedule_uid = 'C7022AF3-51B8-4011-B159-64C47C88FF70';
-- alternatively, use @schedule_name.
-- @schedule_name = N'CollectorSchedule_Every_15min;
GO
В. Изменение других параметров набора коллекций
В следующем примере обновляются различные свойства набора коллекций с именем Simple collection set test 2
.
USE msdb;
GO
EXEC dbo.sp_syscollector_update_collection_set
@name = N'Simple collection set test 2',
@collection_mode = 1,
@days_until_expiration = 5,
@description = N'This is a test collection set that runs in noncached mode.',
@logging_level = 0;
GO