sql 在使用中每次查詢都會生成日志,但是如果你長久不去清理,可能整個硬都堆滿哦,筆者就遇到這樣的情況,直接網站后臺都進不去了,今天到數據庫中一看竟然達到了29G的日志文件,下面我們一起來學習一下如何清理這個日志吧
SQL2008清空刪除日志:
方法一:
USE [master]GOALTER DATABASE AFMS SET RECOVERY SIMPLE WITH NO_WAITGOALTER DATABASE AFMS SET RECOVERY SIMPLEGOUSE AFMSGODBCC SHRINKFILE (N'AFMS_Log' , 11, TRUNCATEONLY) GOUSE [master]GOALTER DATABASE AFMS SET RECOVERY FULL WITH NO_WAITGOALTER DATABASE AFMS SET RECOVERY FULLGO
'在SQL2008中清除日志就必須在簡單模式下進行,等清除動作完畢再調回到完全模式。
USE [master]GOALTER DATABASE DNName SET RECOVERY SIMPLE WITH NO_WAITGOALTER DATABASE DNName SET RECOVERY SIMPLE --簡單模式GOUSE DNNameGODBCC SHRINKFILE (N'DNName_Log' , 11, TRUNCATEONLY) GO '這里的DNName_Log 如果不知道在sys.database_files里是什么名字的話,可以用以下注釋的語句進行查詢 'USE DNName 'GO 'SELECT file_id, nameFROM sys.database_files; 'GOUSE [master]GOALTER DATABASE DNName SET RECOVERY FULL WITH NO_WAITGOALTER DATABASE DNName SET RECOVERY FULL --還原為完全模式GO
SQL2005清空刪除日志:
Backup Log DNName with no_log '這里的DNName是你要收縮的數據庫名,自己注意修改下面的數據庫名,我就不再注釋了。godump transaction DNName with no_log goUSE DNNameDBCC SHRINKFILE (2)Go
sqlserver2000壓縮日志
可以將jb51.ldf文件變得很小,方便備份數據庫等,在sqlserver查詢分析器中執行即可。
DUMP TRANSACTION [jb51] WITH NO_LOG BACKUP LOG [jb51] WITH NO_LOG DBCC SHRINKDATABASE([jb51])
這篇文章就介紹到這了,文中整合了VeVb武林網以前發布的文章,需要的朋友可以參考一下。
新聞熱點
疑難解答