從上圖可以直觀的看出。只有當(dāng)發(fā)生checkpoint時,數(shù)據(jù)才會被寫入mdf數(shù)據(jù)文件。

checkpoint的語法為:

CHECKPOINT [ checkpoint_duration ],其中checkpoint_duration 是個int類型的整數(shù)值且并且必須大于零,單位是秒,表示SQL Server 數(shù)據(jù)庫引擎會在請求的持續(xù)時間內(nèi)嘗試執(zhí)行檢查點。如果省略該參數(shù),SQL Server 數(shù)據(jù)庫引擎將自動調(diào)整檢查點持續(xù)時間,以便最大程度地降低對數(shù)據(jù)庫應(yīng)用程序性能的影響。

導(dǎo)致CheckPoint檢查點的事件:

1.在數(shù)據(jù)庫備份之前,數(shù)據(jù)庫引擎會自動執(zhí)行檢查點,以便在備份中包含對數(shù)據(jù)庫頁的全部更改。

2.日志的活動部分超出了服務(wù)器在 recovery interval 服務(wù)器配置選項中指定的時間內(nèi)可以恢復(fù)的大小。

3.日志的 70% 已滿,并且數(shù)據(jù)庫處于日志截斷模式。

當(dāng)下列條件都為 TRUE 時,數(shù)據(jù)庫就處于日志截斷模式:數(shù)據(jù)庫使用的是簡單恢復(fù)模式,并且在執(zhí)行上一條引用數(shù)據(jù)庫的 BACKUP DATABASE 語句后,發(fā)生下列事件之一:

在數(shù)據(jù)庫中執(zhí)行一項最小日志記錄大容量復(fù)制操作或一條最條小日志記錄的 WRITETEXT 語句。

執(zhí)行一個在數(shù)據(jù)庫中添加或刪除文件的 ALTER DATABASE 語句。

4.停止服務(wù)器也會在服務(wù)器上的每個數(shù)據(jù)庫中發(fā)出一個檢查點命令。下列停止 SQL Server 的方法將為每個數(shù)據(jù)庫執(zhí)行檢查點:

使用 SQL Server 配置管理器。

使用 SQL Server Management Studio。

使用 SHUTDOWN 語句。

分享到

hanrui

相關(guān)推薦