sp_syspolicy_update_policy_category (Transact-SQL)

适用范围:SQL Server(SQL Server 2008 至当前版本)。

主题链接图标 Transact-SQL 语法约定

语法

sp_syspolicy_update_policy_category { [ @name = ] 'name' | [ @policy_category_id = ] policy_category_id }
    , [ @mandate_database_subscriptions = ] mandate_database_subscriptions ]

参数

  • [ @name= ] 'name'
    策略类别的名称。 name 是 sysname,并且如果 policy_category_id 为 NULL,则必须指定。

  • [ @policy_category_id= ] policy_category_id
    策略类别的标识符。 policy_category_id 的数据类型为 int,并且如果 name 为 NULL 则必须指定。

  • [ @mandate_database_subscriptions= ] mandate_database_subscriptions
    确定是否为策略类别而托管数据库订阅。 mandate_database_subscriptions 为一个 bit 值,默认值为 NULL。 您可以使用两个值中的一个:

    • 0 = 不托管

    • 1 = 托管

返回代码值

0(成功)或 1(失败)

注释

您必须在 msdb 系统数据库的上下文中运行 sp_syspolicy_update_policy_category。

必须为 name 或 policy_category_id 指定一个值。 两者不能均为 NULL。 若要获取这些值,请查询 msdb.dbo.syspolicy_policy_categories 系统视图。

权限

要求具有 PolicyAdministratorRole 固定数据库角色的成员身份。

安全说明安全说明

可能的凭据提升:具有 PolicyAdministratorRole 角色的用户可以创建服务器触发器并计划策略执行,这可能会影响 数据库引擎 实例的正常运行。例如,具有 PolicyAdministratorRole 角色的用户可以创建一个策略,它可能会禁止在数据库引擎中创建大多数对象。由于这种可能的凭据提升,只应将 PolicyAdministratorRole 角色授予可信任其控制数据库引擎配置的用户。

示例

下面的示例更新“Finance”类别以便托管数据库订阅。

EXEC msdb.dbo.sp_syspolicy_update_policy_category @name = N'Finance'
, @mandate_database_subscriptions = 1;

GO

请参阅

参考

基于策略的管理存储过程 (Transact-SQL)

sp_syspolicy_add_policy_category (Transact-SQL)

sp_syspolicy_delete_policy_category (Transact-SQL)

sp_syspolicy_rename_policy_category (Transact-SQL)