徵狀
假設您使用的是 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 累計更新都包含所有的修正程式,以及前一個累積更新中所包含的所有安全性修正程式。 查看 SQL Server 的最新累計更新:
狀態
Microsoft 已確認<適用於>一節中所列的 Microsoft 產品確實有上述問題。
參考
瞭解 Microsoft 用於描述軟體更新的 術語 。