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