2013-08-07 224 views
0

只是想澄清,如果有人可以請告知:SQL服務器 - 事務日誌管理

比方說,我們有最初設置爲4GB的事務日誌文件,並自動增長了10%的增量設置。現在事務日誌已增長到40GB。

問:是否事務日誌備份將截斷TLOG一旦完成,則意味着TLOG將回到4GB或40GB(不過現在36GB供重複使用)

問候

回答

0

否該文件將永不收縮它被重新使用,並且是循環的。主.ldf(事務日誌文件)由稱爲虛擬日誌文件或VLF的較小文件組成。這些內容在空閒時會在LDF內部重用。如果所有VLF都已滿,則通過在LDF文件末尾添加新的VLF來增加日誌文件。因此,通過實現百分比的自動增長,您可能還有可能成爲性能殺手的日誌文件碎片。

如果您運行命令DBCC LOGINFO,將會得到一個結果集,其中包含主文件中所有虛擬日誌文件的狀態。這些VLF基本上反覆使用。記住它本質上是循環的。

所以當你開始一個交易時,它被寫入VLF,當它被提交時,它在VLF上被標記爲完成。如果您在每個檢查點以簡單恢復模式運行數據庫,則這些提交的VLF文件將被清理並準備好重新使用。如果您的數據庫處於任何其他恢復模式,即使這些VLF被提交,這些VLF也不會被清除。當您執行事務日誌備份時,這些VLF將寫入事務日誌備份中,然後清除。這就是事務日誌文件能夠重放提交的事務的方式。

但是,包含這些VLF的LDF文件永遠不會收縮。你真的應該閱讀下面的博客這是一個真棒的地方,真正理解事務日誌:

http://www.sqlskills.com/blogs/kimberly/8-steps-to-better-transaction-log-throughput/

大約有一些這方面的非常詳細的文章,所以還是看上面的鏈接是極好的。

+0

嘆息我沒有建設性的評論downvoted ...請添加評論你爲什麼downvoted。我長大了,可以處理批評。 – Namphibian

-2

號它會不。備份不會截斷日誌。你嘗試縮小它嗎?

+0

因此,我怎麼能知道,40GB,36GB可用於現在重新使用bcos我沒有TLog備份。另外當應該做TLOG縮小 –

+0

你應該在做備份之前收縮,每次你執行縮小動作時文件會減少到1mb +。如果沒有錯誤,則爲日誌文件設置4GB,它僅爲日誌文件分配4GB,這並不意味着用完4GB。您可以從您的ldf物理文件中檢查以查看收縮後的實際大小是多少 – tsohtan

+0

永遠不會縮小您的事務日誌文件。這是不好的做法。這意味着你可能不理解恢復模式。如果您的日誌文件快速增長,並且您不需要事務日誌備份,請確保您正在簡單恢復模式下運行。如果您需要TRANSACTION LOG備份並縮小文件,則會銷燬事務日誌備份鏈。 – Namphibian