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


sp_syscollector_update_collection_set (Transact-SQL)

Используется для изменения свойств или переименования определяемого пользователем набора элементов сбора.

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

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

Применимо для следующих объектов: SQL Server (начиная с SQL Server 2008 до текущей версии).

Значок ссылки на раздел Синтаксические обозначения в Transact-SQL

Синтаксис

sp_syscollector_update_collection_set 
    [ [ @collection_set_id = ] collection_set_id ]
    , [ [ @name = ] 'name' ]
    , [ [ @new_name = ] 'new_name' ]
    , [ [ @target = ] 'target' ]
    , [ [ @collection_mode = ] collection_mode ]
    , [ [ @days_until_expiration = ] days_until_expiration ]
    , [ [ @proxy_id = ] proxy_id ]
    , [ [ @proxy_name = ] 'proxy_name' ]
    ,[ [ @schedule_uid = ] 'schedule_uid' ]
    ,[ [ @schedule_name = ] 'schedule_uid' ]
    , [ [ @logging_level = ] logging_level ]
    , [ [ @description = ] 'description' ]

Аргументы

  • [ @collection\_set\_id = ] collection_set_id
    Уникальный локальный идентификатор набора элементов сбора. collection_set_id — int и должен иметь значение, если name имеет значение NULL.

  • [ @name = ] 'name'
    Имя набора элементов сбора. name— sysname и должен иметь значение, если collection_set_id имеет значение NULL.

  • [ @new\_name = ] 'new_name'
    Новое имя для набора элементов сбора. new_name является sysname и при использовании не может быть пустой строкой. Аргумент new_name должен быть уникальным. Чтобы получить список имен текущего набора элементов сбора, сформируйте запрос к системному представлению syscollector_collection_sets.

  • [ @target = ] 'target'
    Зарезервировано для использования в будущем.

  • [ @collection\_mode = ] collection_mode
    Является типом коллекции данных для использования. Аргумент collection_mode имеет тип smallint и может иметь одно из следующих значений:

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

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

    При изменении режима с некэшированного на кэшированный (0) необходимо также указать schedule_uid или schedule_name.

  • [ @days\_until\_expiration= ] days_until_expiration
    Число дней, в течение которых собранные данные хранятся в хранилище данных управления. Аргумент days_until_expiration имеет тип smallint. Значение days_until_expiration должно быть больше 0 или быть положительным целым числом.

  • [ @proxy\_id = ] proxy_id
    Уникальный идентификатор учетной записи-посредника агента SQL Server. Аргумент proxy_id имеет тип int.

  • [ @proxy\_name = ] 'proxy_name'
    Имя учетной записи-посредника. proxy_name имеет тип sysname и может принимать значение NULL.

  • [ @schedule\_uid = ] 'schedule_uid'
    Идентификатор GUID, указывающий на расписание. Аргумент schedule_uid имеет тип uniqueidentifier.

    Чтобы получить значение schedule_uid, сформируйте запрос к системной таблице sysschedules.

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

  • [ @schedule\_name = ] 'schedule_name'
    Имя расписания. schedule_name имеет тип sysname и может принимать значение NULL. Если он указан, аргумент schedule_uid должен иметь значение NULL. Чтобы получить значение schedule_name, сформируйте запрос к системной таблице sysschedules.

  • [ @logging\_level = ] logging_level
    Уровень ведения журнала. Аргумент logging_level имеет тип smallint и может иметь одно из следующих значений:

    0 - Регистрировать сведения о выполнении и события служб Службы SSIS, которые отслеживают:

    • Запуск и остановку наборов сбора.

    • Запуск и остановку пакетов.

    • Сведения об ошибках.

    1 — Ведение журнала на уровне 0, а также:

    • Статистика выполнения.

    • Ход непрерывно работающего сбора.

    • Предупреждающие события от служб Службы SSIS.

    2 - Ведениe журнала на уровне 1, а также запись подробных сведений о событиях служб Службы SSIS

    Значение logging_level по умолчанию равно 1.

  • [ @description = ] 'description'
    Описание набора элементов сбора. Аргумент description имеет тип nvarchar(4000).

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

0 (успешное завершение) или 1 (неуспешное завершение)

Замечания

Хранимая процедура sp_syscollector_update_collection_set должна выполняться в контексте системной базы данных msdb .

Обязательно должно быть задано значение для одного из параметров collection_set_id или name, они не могут иметь значение NULL одновременно. Чтобы получить эти значения, выполните запрос к системному представлению syscollector_collection_sets.

Если набор элементов сбора выполняется, можно только обновить schedule_uid и description. Чтобы остановить набор элементов сбора, используйте функцию 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

Б.Изменение режима сбора с некэшированного на кэшированный

В следующем примере режим сбора изменяется с некэшированного на кэшированный. Для этого изменения требуется указать идентификатор или имя расписания.

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

См. также

Справочник

Системные хранимые процедуры (Transact-SQL)

syscollector_collection_sets (Transact-SQL)

dbo.sysschedules (Transact-SQL)

Основные понятия

Сбор данных