Sql-Server-2008-R2
SQL 代理歷史記錄設置未保存
我正在使用安裝了 SQL 2K8 R2 的 Win 2K3 R2 + SP2。
我正在嘗試設置 SQL 代理歷史記錄以保留 1 週的日誌。所以這就是我要做的:連接後,我右鍵點擊SQL Server Agent並選擇Properties。之後我選擇History。然後我觀察到沒有選中任何復選框。I 然後選擇第二個複選框(刪除代理歷史記錄:)。並將周的值更改為 1。然後點擊OK。
之後我重新打開,發現沒有任何改變。
如果這還不夠,有時當我嘗試查看某些特定作業的歷史時,它會超時。
我很感激任何幫助。
謝謝@Pradeep,我在日常維護工作中添加了兩個步驟,這是任務的腳本。
用於清除備份歷史記錄(優化備份速度)
declare @lastweek date; select @lastweek = CONVERT(DATE,DATEADD(WEEK,-1,GETDATE())); EXEC MSDB.DBO.SP_DELETE_BACKUPHISTORY @oldest_date = @lastweek;
為了清除作業歷史,我必須使用游標。
declare @lastweek date select @lastweek = CONVERT(DATE,DATEADD(WEEK,-1,GETDATE())); DECLARE jobs_cursor CURSOR FAST_FORWARD FOR select job_id from msdb.dbo.sysjobs DECLARE @job_id UNIQUEIDENTIFIER OPEN jobs_cursor FETCH NEXT FROM jobs_cursor INTO @job_id WHILE (@@fetch_status <> -1) BEGIN IF (@@fetch_status <> -2) BEGIN EXEC msdb.dbo.sp_purge_jobhistory @job_id = @job_id, @oldest_date = @lastweek; END FETCH NEXT FROM jobs_cursor INTO @job_id END CLOSE jobs_cursor DEALLOCATE jobs_cursor GO
如果有人也需要這個,希望這會有所幫助。
這是MS Connect 上的一個 BUG 。即使我可以重現這一點。當複選框被選中時,它會清除指定日期的數據,但該選項不會保持選中狀態。因此,當您選擇它並點擊“確定”時,它只會清除一次數據。您可以安排一個將執行 sp_delete_backuphistory 和 sp_purge_jobhistory 的作業作為解決方法。