sp_syspolicy_rename_policy (Transact-SQL)

适用范围:SQL Server

在基于策略的管理中重命名现有策略。

Transact-SQL 语法约定

语法

sp_syspolicy_rename_policy
    { [ @name = ] N'name' | [ @policy_id = ] policy_id }
    , [ @new_name = ] N'new_name'
[ ; ]

参数

[ @name = ] N'name'

要重命名的策略的名称。 @name为 sysname,并且必须在@policy_id指定NULL

[ @policy_id = ] policy_id

要重命名的策略的标识符。 @policy_id为 int,并且必须在@nameNULL指定。

[ @new_name = ] N'new_name'

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

返回代码值

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

注解

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

必须为@name@policy_id指定值。 两者都 NULL不能。 若要获取这些值,请查询 msdb.dbo.syspolicy_policies 系统视图。

权限

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

重要

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

示例

以下示例重命名名为 Test Policy 1 Test Policy 2 的策略。

EXEC msdb.dbo.sp_syspolicy_rename_policy
    @name = N'Test Policy 1',
    @new_name = N'Test Policy 2';
GO