Sql-Server-2008-R2

SQL 代理歷史記錄設置未保存

  • May 16, 2011

我正在使用安裝了 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 的作業作為解決方法。

引用自:https://serverfault.com/questions/206279