我有一個數據庫,其TLOG已發展到4.5 GB。 的DB是完全恢復模式,我曾嘗試加上 DBCC SHRINKFILE幾個事務日誌備份。 它不會縮小。 有沒有人有任何想法?無法收縮事務日誌,無論我做什麼
存在具有狀態= 2的幾個交易,但在數據庫中沒有活動的事務。我想知道他們爲什麼仍然顯示status = 2。
我有一個數據庫,其TLOG已發展到4.5 GB。 的DB是完全恢復模式,我曾嘗試加上 DBCC SHRINKFILE幾個事務日誌備份。 它不會縮小。 有沒有人有任何想法?無法收縮事務日誌,無論我做什麼
存在具有狀態= 2的幾個交易,但在數據庫中沒有活動的事務。我想知道他們爲什麼仍然顯示status = 2。
我們有一個工作與另一個鏈接服務器寫入數據庫。 這是做了一些巨大的刪除。 我們對該作業進行了優化,並能夠將日誌文件成功縮減至100MB。
謝謝!
如果你沒有在事務日誌中的內容真正感興趣,運行命令
BACKUP LOG dbname WITH NO_LOG
,然後再運行DBCC SHRINKFILE
編輯:沒有意識到2008年已經刪除了這些 - 我們只是切換到它。在2008年,您必須暫時將恢復模型設置爲簡單模式,然後運行DBCC SHRINKFILE,然後再次將恢復模型恢復爲「完全」。 代碼在這裏:
http://www.uhleeka.com/blog/2009/08/sql-2008-shrink-log-file-size-with-no_lo/
你最有可能有下列之一:
還有一些其他的可能性還有,但是this kb article概括大多數/所有可能的原因,以及如何確定是否/何處/它們是什麼,以及來自this kb article和this kb article一些額外良好的信息(這最後一個有點過時,但大多仍然適用)。
DBCC OPENTRAN
拿開交易最後,我會考慮安裝/拆卸如果你真的卡住刪除日誌文件。然而,這僅僅是當你絕望......
注意:分離數據庫,刪除日誌文件,然後嘗試僅附加MDF並重建日誌可能會使數據庫處於不一致甚至損壞的狀態。 – 2009-11-12 14:23:40
@Aaron:我知道,但OP似乎堅定不移... – gbn 2009-11-12 15:49:26
如果SQL,則需要對數據庫進行完全備份,然後備份事務日誌,然後收縮數據庫。出於某種原因,它希望在截斷日誌之前擁有完整備份。您可能能夠脫離差異,但看看第一部分是否有效。
不要在UI中使用DBCC SHRINKDATABASE或縮小數據庫選項。如果您需要縮小單個文件,則顯式使用DBCC SHRINKFILE會更好。請參閱Tibor的網站:http://www.karaszi.com/SQLServer/info_dont_shrink.asp另請參閱此處的鏈接和討論:http://is.gd/4TnHZ – 2009-11-12 14:23:06
jeeeeeeeeeeeeeeeee! – JohnIdol 2009-11-12 00:47:12
我爲大日誌轉儲道歉。 – sharadov 2009-11-12 00:55:24
請刪除轉儲,因爲我無法編輯您的帖子。 – Middletone 2009-11-12 06:36:11