修正: 慢速同步處理,當磁碟有不同的磁區大小為主要和次要複本在 SQL Server AG 及 Logshipping 環境中的記錄檔

請注意--重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,且可能由 Microsoft Community 利用 Community Translation Framework技術或人工進行事後編修。翻譯過程並無專業譯者參與。Microsoft 同時提供使用者人為翻譯、機器翻譯及社群編修後的機器翻譯三種版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,所有翻譯文章都可能不盡完美,內容都可能出現詞彙、語意或文法上的錯誤。就翻譯內容之不正確或錯誤,或客戶因使用翻譯內容所產生的任何損害,微軟不負擔任何責任。Microsoft將依合理的商業努力不斷地更新機器翻譯軟體和工具,以期能為使用者提供更好的服務。

按一下這裡查看此文章的英文版本:3009974
注意事項
附註您套用此 hotfix 之後,您必須啟用追蹤旗標 1800年,若要使這個 hotfix 正常運作的所有伺服器上。
徵狀
請考慮下列情況:
  • 您要啟用 AlwaysOn 可用性群組 」 或 「 Logshipping 」 功能,在 Microsoft SQL Server 2012年或 SQL Server 2014年。
  • 儲存記錄檔的主要和次要複本在 AlwaysOn 可用性群組 (AG) 的磁碟有不同的磁區大小。或在 Logshipping 環境中,儲存區記錄檔的主要伺服器的 Logshipping 和 Logshipping 的次要伺服器的磁碟有不同的磁區大小。例如:
    • 主要複本的記錄檔位於磁區大小為 512 個位元組的磁碟上。不過,第二個複本的記錄檔位於磁碟的磁區大小,為 4 千位元組 (KB)。
    • 主要複本的記錄檔位於磁區大小為 512 個位元組的前提上本機系統上。不過,第二個複本位於 Windows Azure 存放區的磁碟具有 4 個位元組 (KB) 的磁區大小。
在這個案例中,SQL Server 錯誤記錄檔會記錄下列錯誤訊息:

過去曾經發生過沒有對齊 X 登 Io 的必要回頭採用同步 IO。目前的 IO 位於檔案...

此外,AG 或 Logshipping 的同步處理因為同步 I/o,所以執行速度非常緩慢。如果第二個複本位於 Windows Azure 存放區中,花更長的時間超出預期要完成同步處理程序。

注意當您使用有 4 KB 的磁區大小的新磁碟機,並有 512 位元組磁區大小的舊磁碟機,就會發生這個問題。如需有關新的磁碟機的詳細資訊,請參閱 SQL Server 的新磁碟機使用 4k 磁區大小SQL Server – 儲存空格/VHDx 和 4k 磁區大小.
解決方案
下列的累積更新 SQL Server 的第一次修正問題。

SQL Server 2014年累積更新 5

SQL Server 2012 sp2 的累積更新 3

SQL Server 2012 sp1 的累積更新 13

套用此 hotfix 後,當您啟用追蹤旗標 1800年主要伺服器上的時,您會注意到下列檔案的大小則少量增加:
  • 交易記錄檔
  • 記錄檔備份
此外,您可以注意到,在主要伺服器的 SQL Server 錯誤記錄檔中記錄下列訊息:

資料庫的記錄檔的尾端 '資料庫名稱>' 要重新寫入以符合新 4096 位元組的磁區大小

這是資訊訊息,您可以放心忽略。

關於 SQL Server 的累積更新

每個新的累積更新的 SQL Server 包含的所有 hotfix 與安全性修正,全都包含在先前的累積更新。如 SQL Server,請參閱 「 累計最新的更新 」:

其他可行方案
若要解決這個問題,請移動交易記錄檔到目的端到已設定為 512 個位元組的位元組,每個實體磁區的磁碟機。
狀況說明
Microsoft 已確認這是<套用> 一節所列出的 Microsoft 產品的問題。
其他相關資訊
最佳的作法是嘗試確定在所有複本 (裝載記錄檔的最少的所有磁碟) 上的所有磁碟都有相同的磁區大小。在混合環境中,其中次要資料庫有實體的磁區為 512 個位元組,而主要具有 4 KB 的磁區大小,如啟動加上旗標 (尤其是有 512 個位元組的實體磁區的伺服器) 的所有伺服器上可以轉換為主要的角色應該使用 TF 1800。如此可確保在進行中的記錄建立格式使用 4 KB 的磁區大小。

如需有關 SQL Server 如何處理較大的磁區大小的詳細資訊,請參閱支援部落格上的下列文章:

SQL Server – 儲存空格/VHDx 和 4k 磁區大小

您可以使用 Fsutil 命令提示公用程式 若要決定每個實體磁區的位元組值。如果這個參數不在輸出中的 [看得見的您必須套用 hotfix 中所指定 知識庫文件 982018.

若要確認您擁有的磁碟機的類型,請依照下列步驟執行:
  1. 在提高權限的命令提示字元執行下列命令:
    Fsutil fsinfo ntfsinfo x:
    注意[X] 預留位置代表要檢查的磁碟機。
  2. 您可以使用位元組每個磁區每個實體磁區的位元組的值,判斷您擁有的磁碟機的類型。若要這樣做,請使用下表:
    「 每個磁區位元組 」 值「 每個實體磁區位元組 」 值磁碟機類型
    40964096原生 4k
    5124096進階的格式 (也稱為 512E)
    512512512 位元原生

警告:本文為自動翻譯

內容

文章識別碼:3009974 - 最後檢閱時間:01/20/2016 00:46:00 - 修訂: 7.0

Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Standard

  • kbqfe kbhotfixserver kbfix kbsurveynew kbexpertiseadvanced kbmt KB3009974 KbMtzh
意見反應