KB4480652-修正: SQL 寫入程式服務在您執行 VSS 備份時,可能會導致系統 DMV 上未檢測到死機

徵狀

請試想下列案例:

  • 您使用的是 Microsoft SQL Server 2016 Service Pack 2 (SP2)累積更新2(CU2)或更新版本。

  • 您執行的是託管多個資料庫的實例(通常多於200),而該實例是 [Alwayson 可用性] 群組(AG)的一部分(通常是從屬伺服器的角色)。 注意:所有的使用者資料庫都不需要屬於 AGs。

  • 您可以執行卷影複製服務(VSS)應用程式,以要求 SQL Server 實例的全部或部分資料庫的備份。

在這種情況下,SQL 寫入程式服務可能會達到鎖死情況,並 在 master (sys. sysdbreg)中,將封鎖永久保留在內部系統資料表中 使用 object_id 28)。 此外,這些鎖定會輪流禁止讀取 系統動態管理檢視(DMV),例如 sys.dm_hadr_database_replica_states,可能會導致主要 實例中的次要封鎖。 此外,您會注意到區塊鏈分析會傳回下列語句 源自 SQL Server VSS 書寫器作為頭封鎖器:

「選取名稱、recovery_model_desc、state_desc、 CONVERT (integer、is_in_standby)、ISNull (source_database_id,0) .master. 資料庫 "

然後 SQL Server 會將 [等待] 狀態顯示為 [ ASYNC_NETWORK_IO]。

注意: 因為已實現 ASYNC_NETWORK_IO wait,所以 wait_time 不會超過兩秒(2000 ms)。 不過,等待類型 會無限期保留,而這種情況將永遠不會自行解除封鎖。 它需要您終止 SQL 寫入程式服務,才能解除封鎖情況。

在由此 head 封鎖程式封鎖的 SPID 中,通常會有 DBSTARTUP SPID (alwayson 次要資料庫重做)。

狀態

Microsoft 已確認<適用於>一節所列的 Microsoft 產品確實有上述問題。

解決方案

此問題已在 SQL Server 的下列累積更新中修正:

關於 SQL Server 的累積更新:

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

參考

瞭解  terminologyMicrosoft 用來描述軟體更新的術語。

需要更多協助?

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

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與我們的其中一個 Office 支援專員連絡以深入了解您的意見。

×