sql 在使用中每次查詢都會生成日志,但是如果你長久不去清理,可能整個硬都堆滿哦,筆者就遇到這樣的情況,直接網站後台都進不去了。下面我們一起來學習一下如何清理這個日志吧
SQL2005清空刪除日志:
復制代碼 代碼如下:
Backup Log DNName with no_log '這裡的DNName是你要收縮的數據庫名,自己注意修改下面的數據庫名,我就不再注釋了。
go
dump transaction DNName with no_log
go
USE DNName
DBCC SHRINKFILE (2)
Go
SQL2008清空刪除日志:
'在SQL2008中清除日志就必須在簡單模式下進行,等清除動作完畢再調回到完全模式。
復制代碼 代碼如下:
USE [master]
GO
ALTER DATABASE DNName SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE DNName SET RECOVERY SIMPLE --簡單模式
GO
USE DNName
GO
DBCC SHRINKFILE (N'DNName_Log' , 11, TRUNCATEONLY)
GO
'這裡的DNName_Log 如果不知道在sys.database_files裡是什麼名字的話,可以用以下注釋的語句進行查詢
'USE DNName
'GO
'SELECT file_id, nameFROM sys.database_files;
'GO
USE [master]
GO
ALTER DATABASE DNName SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE DNName SET RECOVERY FULL --還原為完全模式
GO
sqlserver2000壓縮日志
可以將.ldf文件變得很小,方便備份數據庫等,在sqlserver查詢分析器中執行即可。
復制代碼 代碼如下:
DUMP TRANSACTION [] WITH NO_LOG
BACKUP LOG [] WITH NO_LOG
DBCC SHRINKDATABASE()