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


sp_syspolicy_update_policy_category_subscription (Transact-SQL)

Область применения: SQL Server

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

Соглашения о синтаксисе Transact-SQL

Синтаксис

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

Аргументы

[ @policy_category_subscription_id = ] policy_category_subscription_id

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

[ @target_type = ] N'target_type'

Целевой тип подписки категории. @target_type имеет имя sysname с значением по умолчаниюNULL.

Если указать @target_type, необходимо задать DATABASEзначение .

[ @target_object = ] N'target_object'

Имя базы данных, которая будет подписываться на категорию политики. @target_object — sysname с значением по умолчаниюNULL.

[ @policy_category = ] N'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 могут создавать триггеры сервера и планировать выполнение политик, которые могут повлиять на работу экземпляра ядро СУБД. Например, пользователи роли PolicyAdministratorRole могут создавать политику, которая может препятствовать созданию большинства объектов в ядро СУБД. Из-за этого возможного повышения прав учетных данных роль PolicyAdministratorRole должна предоставляться только пользователям, которым доверено управление конфигурацией ядро СУБД.

Примеры

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

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