KB3187842-修正:當您在 SQL Server 2012 中查詢資料庫狀態資訊時,會發生宣告失敗問題

徵狀

假設您使用的是 Microsoft SQL Server 2012 中的 [AlwaysOn 可用性群組] 功能。 當您使用 Sys.dm_hadr_database_replica_states DMV 來查詢資料庫狀態資訊時,可能會在結果中傳回大量的列。 此外,也會在 SQL Server 錯誤記錄中記錄類似下列的錯誤訊息:

<日期時間> spid41s 錯誤:17066、嚴重性:16、State: 1. <日期時間> spid41s SQL Server Assertion: File: < hadrdbmgrpartner .cpp>,line = 143 失敗斷言 = '! m_link。IsInList ()'. 此錯誤可能是與時間有關的。 如果在重新執行語句後發生錯誤,請使用 DBCC CHECKDB 來檢查資料庫的結構完整性,或重新開機伺服器,以確保記憶體中的資料結構未損毀。 <日期時間> spid387s * * 轉儲執行緒-spid = 0,EC = 0x000000017E6DCB90<日期時間> spid387s * * * 將堆疊轉儲傳送至 D:\Program Files\Microsoft SQL Server\MSSQL11。MSSQLSERVER\MSSQL\LOG\SQLDump0002.txt<日期時間> spid387s * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * [* * * * * * * * * * * * * * * * * * * <日期時間> spid387s * <日期時間> spid387s * 開始堆疊轉儲: <日期時間> spid387s * <日期時間> spid 387<日期時間> spid387s * <日期時間> spid387s * 位置: hadrdbmgrpartner。 .cpp: 143<日期時間> spid387s * 運算式:! m_link]。IsInList () <日期時間> spid387s * SPID: 387<日期時間> spid387s * Process ID:2512

解決方案

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

SQL Server 2012 累積更新5(Service Pack 3)

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

SQL Server 2012 的最新累計更新

狀態

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

參考

瞭解 Microsoft 用於描述軟體更新的 術語

需要更多協助?

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

這項資訊有幫助嗎?

感謝您的意見反應!

×