基本介紹

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

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

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

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

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

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