sp_syspolicy_add_policy_category (Transact-SQL)

适用范围:SQL Server

添加可用于基于策略的管理的策略类别。 策略类别可帮助您对策略进行组织以及设置策略作用域。

Transact-SQL 语法约定

语法

sp_syspolicy_add_policy_category
    [ @name = ] N'name'
    [ , [ @mandate_database_subscriptions = ] mandate_database_subscriptions ]
      , [ @policy_category_id = ] policy_category_id OUTPUT
[ ; ]

参数

[ @name = ] N'name'

策略类别的名称。 @name为 sysname,并且是必需的。 @name不能NULL或为空字符串。

[ @mandate_database_subscriptions = ] mandate_database_subscriptions

确定是否为策略类别而托管数据库订阅。 @mandate_database_subscriptions 值,默认值为 1 (enabled)。

[ @policy_category_id = ] policy_category_id

策略类别的标识符。 @policy_category_id为 int,并返回为 OUTPUT.

返回代码值

0(成功)或 1(失败)。

注解

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

权限

需要 PolicyAdministratorRole 固定数据库角色的成员身份。

重要

可能的凭据提升:PolicyAdministratorRole 角色中的用户可以创建服务器触发器和计划策略执行,这些触发器可能会影响数据库引擎实例的操作。 例如,PolicyAdministratorRole 角色中的用户可以创建一个策略,以防止在数据库引擎中创建大多数对象。 由于这种可能的凭据提升,PolicyAdministratorRole 角色应仅授予信任控制数据库引擎配置的用户。

示例

以下示例创建策略类别,其中不强制订阅类别。 这意味着可以对单独的数据库进行配置,以便在类别中选择加入或不加入策略。

DECLARE @policy_category_id INT;

EXEC msdb.dbo.sp_syspolicy_add_policy_category
    @name = N'Table Naming Policies',
    @mandate_database_subscriptions = 0,
    @policy_category_id = @policy_category_id OUTPUT;
GO