2011-02-06 145 views
1

我想知道如何配置Microsoft SQL Server以下列方式工作:緩衝問題

  • 所有的數據庫寫入是「寫的背後」,所有的查詢操作主要是出於的RAM緩存(用於速度),即它在後臺將數據持久存儲在硬盤驅動器中。

原因是什麼?速度。我們假設底層機器(其Amazon EC2實例)的可靠性爲99.99%,因此我們不介意在RAM中緩存所有數據(即使出現故障,我們也可以自行從第三方數據中自行重建數據庫源)。

例如:

  • 用戶1寫入數據包X到數據庫。
  • 用戶2在2ms後查詢這個相同的數據包X.
  • 用戶2應該看到數據包X,因爲SQL將直接從其RAM緩存中提取數據包(即使數據包X尚未保存到硬盤驅動器中)。
  • 數據包X將在閒暇時間持續到硬盤驅動器,也許在500ms之後。
+0

有關如何設置和配置SQL Server或如何在生產環境中運行的問題,最好在[ServerFault.com](http://serverfault.com)上詢問系統管理員和SQL DBA掛起的位置。這裏是一個**編程相關的問題**問題 – 2011-02-06 10:45:23

+0

我想知道T-SQL編程代碼來配置它。 – Contango 2011-02-06 11:33:04

回答

3

如果您的SQL Server實例中有大量內存並且設置了較高的最小內存設置,那麼SQL將嘗試最大化它的使用。

檢查點進程是強制髒頁面寫入磁盤(這是自動發生,但可以被迫),所以你可能想讀一下。 http://msdn.microsoft.com/en-us/library/ms188748.aspx

這個主題是相當複雜的,可以通過您使用的硬件和解決方案來實現。例如,虛擬化帶來了其他一些考慮因素。