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


sp_syspolicy_update_policy_category_subscription (Transact-SQL)

Обновляет подписку на категорию политики для указанной базы данных.

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

Синтаксис

sp_syspolicy_update_policy_category_subscription [ @policy_category_subscription_id = ] policy_category_subscription_id
    [ , [ @target_type = ] 'target_type' ]
    [ , [ @target_object = ] 'target_object' ]
        , [ @policy_category = ] 'policy_category'

Аргументы

  • [ @policy_category_subscription_id= ] policy_category_subscription_id
    Идентификатор для обновляемой подписки на категорию политики. Аргумент policy_category_subscription_id имеет тип int и является обязательным.

  • [ @target_type= ] 'target_type'
    Целевой тип подписки на категорию. Аргумент target_type имеет тип sysname и значение по умолчанию NULL.

    Если указывается аргумент target_type, его значением должно быть DATABASE.

  • [ @target_object= ] 'target_object'
    Имя базы данных, которая подписывается на категорию политики. Аргумент target_object имеет тип sysname и значение NULL по умолчанию.

  • [ @policy_category= ] 'policy_category'
    Имя категории политики, на которую подписывается база данных. Аргумент policy_category имеет тип sysname и значение NULL по умолчанию.

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

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

Замечания

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

Чтобы получить значения для policy_category_subscription_id и для policy_category, можно использовать следующий запрос:

SELECT a.policy_category_subscription_id, a.target_type, a.target_object
    , b.name AS policy_category
FROM msdb.dbo.syspolicy_policy_category_subscriptions AS a
INNER JOIN msdb.dbo.syspolicy_policy_categories AS b
ON a.policy_category_id = b.policy_category_id

Разрешения

Требуется членство в предопределенной роли базы данных PolicyAdministratorRole.

Примечание по безопасностиПримечание по безопасности

Возможное повышение прав учетных данных. Пользователи с ролью PolicyAdministratorRole могут создавать триггеры сервера и планировать выполнение политик, влияющих на работу экземпляра компонента Database Engine. Например, пользователи в роли PolicyAdministratorRole могут создать политику, которая может запретить создание большинства объектов в компоненте Database Engine. Вследствие возможного повышения прав учетных данных роль PolicyAdministratorRole должна предоставляться только пользователям, имеющим право изменять конфигурацию компонента Database Engine.

Примеры

В следующем примере существующая подписка на категорию политики обновляется таким образом, что база данных AdventureWorks2008R2 подписывается на категорию политики Finance.

EXEC msdb.dbo.sp_syspolicy_update_policy_category_subscription @policy_category_subscription_id = 1
, @target_object = 'AdventureWorks2008R2'
, @policy_category = 'Finance';

GO