sp_syspolicy_purge_history (Transact-SQL)

根据历史记录保持期间隔设置,删除策略评估历史记录。

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

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

语法

sp_syspolicy_purge_history

参数

该存储过程没有参数。

返回代码值

0(成功)或 1(失败)

注释

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

若要查看历史记录保持期间隔,可以使用以下查询:

SELECT current_value
FROM msdb.dbo.syspolicy_configuration
WHERE name = N'HistoryRetentionInDays';
GO

备注

如果历史记录保持期间隔设置为 0,则不会删除策略评估历史记录。

权限

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

安全说明安全说明

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

示例

下面的示例将删除策略评估历史记录。

EXEC msdb.dbo.sp_syspolicy_purge_history;

GO

请参阅

参考

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

sp_syspolicy_set_config_history_retention (Transact-SQL)

sp_syspolicy_delete_policy_execution_history (Transact-SQL)