SQL2005、2008、2000 清空刪除日誌

weixin_34162629發表於2019-01-08

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壓縮日誌

可以將jb51.ldf檔案變得很小,方便備份資料庫等,在sqlserver查詢分析器中執行即可。
複製程式碼 程式碼如下:
DUMP TRANSACTION [ DNName] WITH NO_LOG
BACKUP LOG [ DNName] WITH NO_LOG
DBCC SHRINKDATABASE([ DNName])


裡面的資料庫名要清楚:





詳細出處參考:http://www.jb51.net/article/37305.htm

相關文章