sp_syspolicy_configure (Transact-SQL)

配置基于策略的管理的设置,例如是否启用基于策略的管理。

主题链接图标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