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


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

C. Изменение других параметров набора коллекций

В следующем примере обновляются различные свойства набора коллекций с именем 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