共用方式為


sp_syspolicy_delete_policy_execution_history (Transact-SQL)

在以原則為基礎的管理中刪除原則的執行記錄。 您可以使用這個預存程序刪除特定原則或所有原則的執行記錄,並刪除特定日期之前的執行記錄。

主題連結圖示 Transact-SQL 語法慣例

語法

sp_syspolicy_delete_policy_execution_history [ @policy_id = ] policy_id ]
    [ , [ @oldest_date = ] 'oldest_date' ]

引數

  • [ @policy_id= ] policy_id
    這是您想要刪除執行記錄之原則的識別碼。 policy_id 是 int,而且為必要項目。 可以是 NULL。

  • [ @oldest_date= ] 'oldest_date'
    這是您想要保留原則執行記錄的最舊日期。 早於這個日期的執行記錄會遭到刪除。 oldest_date 是 datetime,而且為必要項目。 可以是 NULL。

傳回碼值

0 (成功) 或 1 (失敗)

備註

您必須在 msdb 系統資料庫的內容中執行 sp_syspolicy_delete_policy_execution_history。

若要取得 policy_id 的值及檢視執行記錄日期,您可以使用下列查詢:

SELECT a.name AS N'policy_name', b.policy_id, b.start_date, b.end_date
FROM msdb.dbo.syspolicy_policies AS a 
INNER JOIN msdb.dbo.syspolicy_policy_execution_history AS b
ON a.policy_id = b.policy_id

如果您針對一個或兩個值指定 NULL,將適用下列行為:

  • 若要刪除所有原則執行記錄,請同時針對 policy_id 和 oldest_date 指定 NULL。

  • 若要針對特定原則刪除所有原則執行記錄,請針對 policy_id 指定原則識別碼,並將 NULL 指定為 oldest_date。

  • 若要刪除特定日期之前所有原則的原則執行記錄,請針對 policy_id 指定 NULL,並針對 oldest_date 指定日期。

若要封存原則執行記錄,您可以在 [物件總管] 中開啟「原則記錄」記錄檔,並將執行記錄匯出到某個檔案。 若要存取「原則記錄」記錄檔,請展開 [管理]、以滑鼠右鍵按一下 [原則管理],然後按一下 [檢視記錄]

權限

需要 PolicyAdministratorRole 固定資料庫角色中的成員資格。

安全性注意事項安全性注意事項

可能會提高認證:PolicyAdministratorRole 角色中的使用者可以建立伺服器觸發程序以及排程可能會影響 Database Engine 執行個體作業的原則執行。 例如,PolicyAdministratorRole 角色中的使用者可以建立防止在 Database Engine 中建立大部分物件的原則。 由於可能會提高認證,因此 PolicyAdministratorRole 角色應該只授與可控制 Database Engine 組態的受信任使用者。

範例

下列範例會針對識別碼為 7 的原則刪除特定日期之前的原則執行記錄。

EXEC msdb.dbo.sp_syspolicy_delete_policy_execution_history @policy_id = 7
, @oldest_date = '2009-02-16 16:00:00.000';

GO

請參閱

參考

原則式管理預存程序 (Transact-SQL)

sp_syspolicy_set_config_history_retention (Transact-SQL)

sp_syspolicy_purge_history (Transact-SQL)