sp_syspolicy_configure (Transact-SQL)
配置基于策略的管理的设置,例如是否启用基于策略的管理。
语法
sp_syspolicy_configure [ @name = ] 'name'
, [ @value = ] value
参数
[ @name = ] 'name'
您要配置的设置的名称。name 的数据类型为 sysname 且是必需的,不能为 NULL 或空字符串。name 可以是下列任意值:
'Enabled' - 确定是否启用基于策略的管理。
'HistoryRetentionInDays' - 指定策略评估历史纪录应保留的天数。如果设置为 0,则不会自动删除历史纪录。
'LogOnSuccess' - 指定基于策略的管理是否记录成功的策略评估。
[ @value = ] value
与 name 的指定值相关联的值。value 的数据类型为 sql_variant 且是必需的。如果您为 name 指定 'Enabled',则可以使用以下两个值中的任意一个:
0 = 禁用基于策略的管理。
1 = 启用基于策略的管理。
如果您为 name 指定 'HistoryRententionInDays',则将天数指定为整数值。
如果您为 name 指定 'LogOnSuccess',则可以使用以下两个值中的任意一个:
0 = 只记录失败的策略评估。
1 = 成功和失败的策略评估均记录。
返回代码值
0(成功)或 1(失败)
注释
您必须在 msdb 系统数据库的上下文中运行 sp_syspolicy_configure。
若要查看这些设置的当前值,请查询 msdb.dbo.syspolicy_configuration 系统视图。
权限
要求具有 PolicyAdministratorRole 固定数据库角色的成员身份。
安全说明 |
---|
可能的凭据提升:具有 PolicyAdministratorRole 角色的用户可以创建服务器触发器并计划策略执行,这可能会影响数据库引擎实例的正常运行。例如,PolicyAdministratorRole 角色中的用户可以创建一个策略,它可能会禁止在数据库引擎中创建大多数对象。由于这种可能的凭据提升,只应将 PolicyAdministratorRole 角色授予可信任其控制数据库引擎配置的用户。 |
示例
下面的示例启用基于策略的管理。
EXEC msdb.dbo.sp_syspolicy_configure @name = N'Enabled'
, @value = 1;
GO
下面的示例将策略评估保持期设置为 14 天。
EXEC msdb.dbo.sp_syspolicy_configure @name = N'HistoryRetentionInDays'
, @value = 14;
GO
下面的示例将基于策略的管理配置为成功和失败的策略评估均记录。
EXEC msdb.dbo.sp_syspolicy_configure @name = N'LogOnSuccess'
, @value = 1;
GO