SQL Server 收縮事務日誌的方法

ゞ修ζ止符℡_R²º¹³發表於2013-08-26

由於SQL2008對檔案和日誌管理進行了優化,所以以下語句在SQL2005中可以執行但在SQL2008中已經被取消:
(SQL2005)

1 Backup Log DataBaseName with no_log
2 go
3 
4 dump transaction DataBaseName with no_log
5 go
6 
7 USE  DataBaseName
8 DBCC SHRINKFILE (2)
9 Go

 

 

(SQL2008):
在SQL2008中清除日誌就必須在簡單模式下進行,等清除動作完畢再調回到完全模式。

 

 1     USE[master]
 2     GO
 3     ALTER DATABASE DataBaseName SET RECOVERY SIMPLE WITH NO_WAIT
 4     GO
 5     ALTER DATABASE DataBaseName SET RECOVERY SIMPLE   --簡單模式
 6     GO
 7     
 8     USE DataBaseName 
 9     GO
10     DBCC SHRINKFILE (N'DataBaseName_Log' , 11, TRUNCATEONLY)
11     GO
12     
13     USE[master]
14     GO
15     ALTER DATABASE DataBaseName SET RECOVERY FULL WITH NO_WAIT
16     GO
17     ALTER DATABASE DataBaseName SET RECOVERY FULL  --還原為完全模式
18     GO
19     --將DataBaseName 為要收縮的資料庫的名字

 

相關文章