基本介紹

    每個數(shù)據(jù)庫都具有事務日志,用于記錄所有事物以及每個事物對數(shù)據(jù)庫所作的操作。

    日志的記錄形式需要根據(jù)數(shù)據(jù)庫的恢復模式來確定,數(shù)據(jù)庫恢復模式有三種:

  • 完整模式,完全記錄事物日志,需要定期進行日志備份。

  • 大容量日志模式,適用于批量操作的數(shù)據(jù)庫,可以以更壓縮的方式處理日志,需要定期進行日志備份。

  • 簡單模式,也有日志文件,只是該模式下可以通過checkpoint自動重用virtual log file,所以日志文件會處于一直重復使用的過程,保持一定大小,但是,如果有一個事務啟動,很久沒有commit,那么從這個事務開始到最后commit的時間段內(nèi)的事務日志存儲空間都無法checpoint自動重用,這時,你很可能看到一個很大的日志文件;注意,簡單模式下是無法進行日志備份

    數(shù)據(jù)庫里邊,任何對數(shù)據(jù)庫的讀寫都是在內(nèi)存頁中找到對應的數(shù)據(jù)也,再做修改,如果內(nèi)存頁中不存在數(shù)據(jù)頁,則從磁盤加載如內(nèi)存中。當一個修改操作發(fā)生時,修改的將是內(nèi)存頁中對應的數(shù)據(jù)頁面,同時也會實時記錄到日后文件ldf中。那么,什么時候數(shù)據(jù)會被同步到mdf文件呢,只有以下三種情況:

  • 做checkpoint時,后續(xù)會專門整理checkpoint的相應文章;

  • Lazy write運行時,即內(nèi)存出現(xiàn)壓力,需要把內(nèi)存中的數(shù)據(jù)頁寫入到磁盤,騰出內(nèi)存空間;

  • eager write時,即發(fā)生b

    網(wǎng)友評論