sql server在運行過程中,尤其是使用一些數據交互操作過程中,會產生大量的日志;
日志的好處在于,會我們可以在數據庫崩潰的時候,數據還原幫助。
但在實際工作中,數據的備份和增量做好,相對更為靠譜。在使用ETL工具數據清洗過程中,產生大量無用的日志,清理日志變成重要的工作。
個人的做法傾向于在數據庫設置定時清理日志作業。
- 1、具體作業步驟如下:
通過sql server自帶的Microsoft SQL server Management Studio,連接數據庫。
- 2、找到sql server 代理,新建代理作業
輸入作業名稱:日志清理
所有者:默認sa管理員賬戶,清理日志需要權限等級,方便管理可以用默認sa賬戶
類別:方便管理可以選擇【數據庫維護】,或者其他類別。主要是考慮方便后續可以用第三方工具讀取配置信息
- 3、關鍵步驟,設置執行代碼
步驟名稱:clearlog
命令內容如下:
USE [master] GO ALTER DATABASE 數據庫名 SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE 數據庫名 SET RECOVERY SIMPLE GO USE 數據庫名 GO DBCC SHRINKFILE (N'日志文件名' , 0,TRUNCATEONLY) GO USE [master] GO ALTER DATABASE 數據庫名 SET RECOVERY FULL WITH NO_WAIT GO ALTER DATABASE 數據庫名 SET RECOVERY FULL GO dbcc sqlperf(logspace)
關于【日志文件名】可以右鍵需要清理日志的數據庫,選擇屬性,查看文件
邏輯名稱:cw_log,就是記錄日志信息文件
- 4.清理日志的原理:
先數據庫狀態轉化成簡單模式,數據清理完畢后,恢復到完全模式。因此在清理日志的時候,設置時間,最好與數據庫使用時間高峰期錯開。
- 5、設置代理時間
根據日志產生頻率和增長情況,來設置是一天1次,還是1天多次,還是一周一次。