Sql-Server

如何縮小 SQL Server 日誌文件的大小

  • October 5, 2010

我不知道如何縮小數據庫 ldf 文件的大小。

DBA 說我應該使用 backup log dbname with truncate_only

雖然看起來它在 SQL 查詢分析器中正確執行,但 ldf 文件仍然超過 2 Gb。

**根據下面的一些評論和一些答案進行澄清。**有問題的特定數據庫是我筆記型電腦上的一個數據庫,我僅將其用於開發過程。日誌文件增長到看起來會導致磁碟滿的程度。不涉及生產風險。我了解我提出的問題中的方法和我接受的答案在生產環境中存在風險。

哦,恐怖!請停止告訴人們他們應該縮小他們的日誌文件!

如果您遇到這種情況,則極有可能出現以下情況之一:

  1. 您的數據庫處於完全恢復模式,它確實應該處於簡單模式
  2. 您的數據庫處於完全恢復模式,您應該定期進行日誌備份
  3. 您的數據庫處於完全恢復模式,並且您的日誌備份由於某種原因而失敗
  4. 您正在執行大量龐大的事務,這些事務將日誌文件擴大到巨大的大小

每個問題的答案如下:

If (1),然後將數據庫切換到簡單模式

If (2),然後安排定期日誌備份

If (3),然後修復您的預定日誌備份

If (4),然後不要那樣做 :) 相反,做小批量工作。

請注意,這些都不需要使用(已棄用)“帶有 truncate_only 的備份日誌數據庫名稱”

相反,一旦您使用上述技術之一清除日誌文件,然後使用以下方法縮小(現在為空)日誌:

DBCC SHRINKFILE ('log logical name', 2000)

始終指定一個合理的最終大小,否則它會縮小到接近 0,並且下次需要它時,將不得不花時間增長。

引用自:https://serverfault.com/questions/116241