1. 程式人生 > 資料庫 >SQL Server 2008 清空刪除日誌檔案(瞬間縮小日誌到幾M)

SQL Server 2008 清空刪除日誌檔案(瞬間縮小日誌到幾M)

sql 在使用中每次查詢都會生成日誌,但是如果你長久不去清理,可能整個硬都堆滿哦,筆者就遇到這樣的情況,直接網站後臺都進不去了,今天到資料庫中一看竟然達到了29G的日誌檔案,下面我們一起來學習一下如何清理這個日誌吧

SQL2008清空刪除日誌:

方法一:

USE [master]
GO
ALTER DATABASE AFMS SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE AFMS SET RECOVERY SIMPLE
GO
USE AFMS
GO
DBCC SHRINKFILE (N'AFMS_Log',11,TRUNCATEONLY) 
GO
USE [master]
GO
ALTER DATABASE AFMS SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE AFMS SET RECOVERY FULL
GO

'在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',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

SQL2005清空刪除日誌:

Backup Log DNName with no_log '這裡的DNName是你要收縮的資料庫名,自己注意修改下面的資料庫名,我就不再註釋了。
go
dump transaction DNName with no_log 
go
USE DNName
DBCC SHRINKFILE (2)
Go

sqlserver2000壓縮日誌

可以將jb51.ldf檔案變得很小,方便備份資料庫等,在sqlserver查詢分析器中執行即可。

DUMP TRANSACTION [jb51] WITH NO_LOG 
BACKUP LOG [jb51] WITH NO_LOG 
DBCC SHRINKDATABASE([jb51])

這篇文章就介紹到這了,文中整合了我們以前釋出的文章,需要的朋友可以參考一下。