SQL Server中的database checkpoint

來源:互聯網
上載者:User

標籤:style   http   color   io   os   ar   strong   sp   資料   

基於效能方面的考慮, 資料庫引擎會在記憶體(buffer cache)中執行資料庫資料頁(pages)的修改, 不會再每次做完修改之後都把修改了的page寫回到磁碟上. 更準確的說, 資料庫引擎定期在每個資料庫上產生一個checkpoint. Checkpoint會把當前記憶體中的修改了的頁(dirty pages)還有transaction log的資訊從記憶體中寫入到磁碟, 還要記錄關於tranaction log的資訊.

資料庫引擎支援下面幾種checkpoint:

  • automatic - 在後台定期自動產生checkpoint來達到伺服器配置所要求的recovery interval標準的時間上限. automatic checkpoint執行的多少是基於突出的寫操作的數量和資料庫引擎是否檢測到寫延遲超過了20毫秒來決定的.
  • indirect - 在後台執行來讓某一個資料庫達到使用者指定的target revovery time標準. 預設的target revovery time是0, 這樣會引發automatic checkpoint設定在該資料庫上生效. 如果你之前用了ALTER DATABASE來配置TARGET_RECOVERY_TIME大於0了, 那麼這個大於0的值就會生效, 而不是讓針對server instance設定的該值起作用.
  • manual - 每當你執行Transact-SQL中的CHECKPOINT命令時會產生manual 的checkpoint. manual checkpoint會在你當前串連了的資料庫上升小. 預設, manual checkpoint會執行一直到結束. Trrottling的工作機制跟automatic checkpoint是一樣的.
  • internal - 會被許多伺服器操作引發, 比如說備份, 資料庫的快照(snapshot), 用以確保磁碟的鏡像跟當前的log的狀態保持一致.

 

舉例:

--啟用indirect checkpointALTER DATABASE tpce SET TARGET_RECOVERY_TIME = 1 SECONDSgo--啟用automatic checkpointALTER DATABASE tpce SET TARGET_RECOVERY_TIME = 0 SECONDSgo

 

 

參考資料

======================

Database Checkpoints (SQL Server)

http://msdn.microsoft.com/en-us/library/ms189573.aspx

SQL Server中的database checkpoint

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.