Sql-Server
我應該定期縮小我的數據庫或至少我的日誌文件嗎?
我的問題是,我應該定期執行一個或兩個收縮命令,
DBCC 收縮數據庫
要麼
DBCC 收縮文件
=============================
背景
Sql Server:數據庫為 200 gigs,日誌為 150 gigs。
執行這個命令
SELECT name ,size/128.0 - CAST(FILEPROPERTY(name, 'SpaceUsed') AS int) / 128.0 AS AvailableSpaceInMB FROM sys.database_files;`
產生這個輸出..
MyDB:159.812500 MB 免費
MyDB_Log:149476.390625 MB 可用
所以似乎有一些可用空間。
我們的備份計劃如下:
- 事務日誌 每小時一次
- 每週兩次完整備份
- 每週 5 次差異備份
我強烈建議您閱讀Paul Randal關於為什麼不應該縮小數據文件(日誌文件是,數據文件不)的文章。
我不會引用或試圖總結這篇文章,因為我真的不公平!只是我認為你至少應該知道的事情。
縮小文件的唯一優勢是回收磁碟空間,但需要注意的是 -如果您的數據庫只是要增長以再次填充該空間,那麼從長遠來看,縮小它實際上可能是有害的。這是因為,在縮減之後,SQL Server 將不得不隨著磁碟空間的增長而回收磁碟空間(這需要時間,雖然不多),並且可能會導致物理磁碟上的碎片(更多的問題)。
如果文件變得比平時大得多,並且您想要恢復硬碟空間,那麼請進行縮小。如果您只是想知道收縮是否應該成為您定期維護的一部分,那麼它不應該。