sp_syspolicy_delete_policy_execution_history (Transact-SQL)
在以原則為基礎的管理中刪除原則的執行記錄。 您可以使用這個預存程序刪除特定原則或所有原則的執行記錄,並刪除特定日期之前的執行記錄。
適用於:SQL Server (SQL Server 2008 到目前的版本)。 |
語法
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 指定日期。
若要封存原則執行記錄,您可以在 [物件總管] 中開啟「原則記錄」記錄檔,並將執行記錄匯出到某個檔案。 若要存取「原則記錄」記錄檔,請展開 [管理]、以滑鼠右鍵按一下 [原則管理],然後按一下 [檢視記錄]。
Permissions
需要 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