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


sp_syspolicy_update_policy_category_subscription (Transact-SQL)

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

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

Значок ссылки на раздел Cинтаксические обозначения в 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.

Примеры

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

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

GO

См. также

Справочник

Хранимые процедуры управления на основе политик (Transact-SQL)

sp_syspolicy_add_policy_category_subscription (Transact-SQL)

sp_syspolicy_delete_policy_category_subscription (Transact-SQL)