sp_syspolicy_purge_history (Transact-SQL)


Removes the policy evaluation history according to the history retention interval setting.

Applies to: SQL Server (SQL Server 2008 through current version).

Topic link icon Transact-SQL Syntax Conventions


This stored procedure has no parameters.

0 (success) or 1 (failure)

You must run sp_syspolicy_purge_history in the context of the msdb system database.

To view the history retention interval, you can use the following query:

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

System_CAPS_ICON_note.jpg Note

If the history retention interval is set to 0, policy evaluation history will not be removed.

Requires membership in the PolicyAdministratorRole fixed database role.

System_CAPS_ICON_important.jpg Important

Possible elevation of credentials: Users in the PolicyAdministratorRole role can create server triggers and schedule policy executions that can affect the operation of the instance of the Database Engine. For example, users in the PolicyAdministratorRole role can create a policy that can prevent most objects from being created in the Database Engine. Because of this possible elevation of credentials, the PolicyAdministratorRole role should be granted only to users who are trusted with controlling the configuration of the Database Engine.

The following example removes the policy evaluation history.

EXEC msdb.dbo.sp_syspolicy_purge_history;  

Policy-Based Management Stored Procedures (Transact-SQL)
sp_syspolicy_set_config_history_retention (Transact-SQL)
sp_syspolicy_delete_policy_execution_history (Transact-SQL)

Community Additions