上次那一篇只能針對 SQL SERVER 2005
SQL SERVER 2008 R2 就不行用了
這次更新的文章適用 2008 R2
狀況:
sql server 2008 所產生的交易記錄檔,佔用容量甚多
\\ikserp\d$\mssql\data\GTN_dat.mdf
\\ikserp\d$\mssql\data\GTN_IDX.ndf
\\ikserp\d$\mssql\data\GTN_log.ldf
gtn_dat 資料庫容量僅 458M
gtn_log 交易檔的容量卻可以輕易長到 5g
若沒有定時清理交易檔,磁碟空間會被交易檔用完
方法:
參考
http://experiencing-sql-server-2008.blogspot.com/2008/02/sql-server-2008-truncating-transaction.html
修改如下:
(a) select name,recovery_model_desc from sys.databases
(b) Alter database GTN SET Recovery simple
(c) select name,size from sys.database_files
(d) DBCC SHRINKFILE (N'GT_log' , 1)
*** 這裡有個吊詭的地方:雖然我資料庫是叫做 GTN ,但是在還原資料庫後,沒特別去變更的話,LOG 仍然是指向 GT_log ...
(e) Alter database GTN SET Recovery bulk_logged
測試結果:
gtn_log.ldf 5g->24m
沒有留言:
張貼留言