Sql Server 2005 日誌壓縮

itscrambler發表於2012-09-04

由於資料庫日誌增長被設定為“無限制”,所以時間一長日誌檔案必然會很大,一個400G的資料庫居然有600G的LOG檔案,嚴重佔用了磁碟空間。由於主要是做OLAP,所以資料庫本身不會有大變動,所以日誌也就沒有多少作用了,因此想辦法把資料庫日誌檔案收縮到很小或者刪除。

網上搜尋相關解決方案後,得到的答案豐富多彩,但是真正管用的方案並不多,這裡分享一個csdn上找到的方法。這個方法講述了SQL Server 2005和SQL Server 2008在收縮資料庫日誌的不同之處,頗有幫助。同時,該方法的效率很高,收縮600G的日誌到10M只花了不到30秒。

適用於SQL Server 2005的方法

Backup Log DNName WITH no_log
GO
DUMP TRANSACTION DNName WITH no_log
GO
USE DNName 
DBCC SHRINKFILE (2)
GO
[@more@]

實際操作情況:

gps-2011_3 日誌檔案56G

執行如下語句:

Backup Log "gps-2011_3" WITH no_log
GO
DUMP TRANSACTION "gps-2011_3" WITH no_log
GO
USE "gps-2011_3"
DBCC SHRINKFILE (2)
GO

日誌檔案收縮為1G左右。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26273052/viewspace-1059327/,如需轉載,請註明出處,否則將追究法律責任。

相關文章