Sign in with Microsoft
New to Microsoft? Create an account.

改進

假設您使用的是 Linux 上的 SQL Server 2017。在某些情況下,SQL Server 在使用易失性緩存的系統上可能會遇到資料遺失的問題。由於無法預見的情況(例如電源發生故障,就會將緩存的資料寫入穩定的媒體),造成損失。為了避免這類案例,在 Linux 上的 SQL Server 2017 累積更新6(CU6)中,會出現 強制性清洗機制。如果您的儲存子系統無法在斷電時保證持久寫入,我們建議您在 Linux 上套用 SQL Server 2017 的 CU6。 此更新可啟用下列功能:

  • 強制清洗 資料庫寫入活動期間的行為,例如檢查點與事務日誌寫入。

  • 預設為 writethrough = 1alternatewritethrough = 1選項的設定設定。 這些預設設定可讓 SQL Server 確保將寫入 durably 刷新到封鎖裝置。 備用 writethrough是將持續性清洗要求優化至檔案系統的選項。如需這兩個設定的詳細資訊,請參閱下表:

名稱

預設值

描述

writethrough

1

有效值為0和1。 

1 = 將 FILE_FLAG_WRITE_THROUGH 要求轉換成 O_DSYNC 開啟。

0 = 防止 O_DSYNC 開啟 FILE_FLAG_WRITE_THROUGH 要求的翻譯。

alternatewritethough

1

有效值為0和1。 

1= 針對 FILE_FLAG_WRITE_THROUGH 要求的主機延伸啟用優化清洗。在檔案上寫入(s)對區塊裝置進行 fdatasync 的檔案優化呼叫。

0 = 停用替換清除優化。 檔案是使用 O_DSYNC 開啟,而基礎檔案系統會執行必要的寫入、清洗要求。

注意alternatewritethrough 設定只有在 writethrough = 1 時才適用。

其他相關資訊

如需詳細資訊,請參閱Linux 版 SQL Server 2017 的最佳做法與設定指導方針 ,以處理高頻率寫入工作負載及資料庫檔案放置建議。  

在能保證寫入的儲存系統上執行的SQL Server 安裝O_DIRECT 安全,可以讓追蹤旗(TF)3979停用強制清洗行為,並將    mssql. 會議中的alternatewritethroughwritethrough選項設定為零。這會傳回 SQL Server 2017來CU6 行為。

 儲存系統可以確保任何快取或暫存的寫入都是安全且持久的,方法是保證將所頒發給裝置的寫操作保留在系統發生故障、介面重設和電源故障等狀態,而媒體本身則是硬體冗余的。

以下是有關使用這些變更之檔案 i/o 之 SQL Server 行為的詳細資訊:

  • 在 CU6 中,資料庫(.mdf)和事務日誌(.ldf)檔案在使用強制刷新 行為時,不會在中使用 writethrough 和 alternatewritethrough。 TF 3979 會禁止對資料庫與事務記錄檔檔案使用 強制性刷新 行為,且會使用 writethrough 和 alternatewritethrough 邏輯。

  • 使用 SQL Server 中的FILE_FLAG_WRITE_THROUGH 開啟的其他檔案,例如資料庫快照、資料庫一致性檢查(CHECKDB)的內部快照、探測器追蹤檔案,以及延伸事件追蹤檔案,都會使用 writethrough 和 alternatewritethrough 優化。

解決方案

此更新包含在 SQL Server 的下列累積更新中:

       SQL Server 2017 累計更新6

每個新的 SQL Server 累計更新都包含所有的修正程式,以及前一個累積更新中所包含的所有安全性修正程式。 查看 SQL Server 的最新累計更新:

SQL Server 2017 的最新累計更新

參考

瞭解 Microsoft 用於描述軟體更新的 詞彙

需要更多協助?

擴展您的技能
探索訓練
優先取得新功能
加入 Microsoft 測試人員

這項資訊有幫助嗎?

您對語言品質的滿意度如何?
以下何者是您會在意的事項?

感謝您的意見反應!

×