SQL Server手動清理日誌文件或新建作業定期自動清理日誌文件

最近一個程序出了問題,新數據插不進數據庫,但並無報錯,經檢查發現是數據庫服務器中數據庫日誌文件過大佔滿內存所致,所以手動清理了一下日誌文件,並新建了一個清理作業,以後每個月自動清理日誌文件:

清理日誌文件SQL語句:

USE [master]
    GO
    ALTER DATABASE 數據庫名稱 SET RECOVERY SIMPLE WITH NO_WAIT
    GO
    ALTER DATABASE 數據庫名稱 SET RECOVERY SIMPLE   --簡單模式
    GO
    USE 數據庫名稱
    GO
    DBCC SHRINKFILE (N'數據庫日誌文件邏輯名稱' , 2, TRUNCATEONLY)  --設置壓縮後的日誌大小爲2M,可以自行指定;數據庫日誌文件邏輯名稱爲數據庫屬性中的邏輯名稱,通常是數據庫名稱_log
    GO
    USE [master]
    GO
    ALTER DATABASE 數據庫名稱 SET RECOVERY FULL WITH NO_WAIT
    GO
    ALTER DATABASE 數據庫名稱 SET RECOVERY FULL  --還原爲完全模式
    GO

新建作業自動清理:

1.展開SQL Server 代理,右鍵新建作業

2.填寫作業名稱,所有者和類別一般直接默認就行

3.點擊左側步驟選項卡,點擊新建按鈕新建步驟

填寫步驟名稱,類型默認T-SQL,選擇需要清理日誌文件的數據庫,將數據庫日誌清理語句粘貼到命令輸入框

如果需要清理多個數據庫的日誌文件,重複新建多個步驟即可

4.點擊左側計劃選項卡,點擊新建按鈕新建計劃

填寫計劃名稱,設置執行頻率

全部確定提交後,作業就開始生效了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章