症狀
假設您在 Microsoft SQL Server 2014 執行個體中啟用 AlwaysOn 可用性群組。 當主要複本具有作用中交易時,您可以執行可用性群組容錯移轉。 接著,您會收到下列 3303 警告訊息:
注意
遠端強化交易 '%.*ls' (識別碼 0x%016I64x %ls) 在 LSN %S_LSN 的資料庫 '%ls' 中的 %S_DATE 開始失敗。
在此情況下,下列資料驅動程式或提供者無法攔截「遠端強化失敗」例外狀況:
- 適用於 SQL Server 4.0 的 Microsoft JDBC 驅動程式
- OLE DB Driver for SQL Server
- 適用於 OLE DB 的 SQL Server Native Client
因此,使用這些驅動程式或提供者的用戶端應用程式並不知道交易「不確定」。「不確定」交易表示它可能已順利認可並強化至磁碟,或是由 SQL Server 中止並復原。 如果這個「不確定」的交易被復原,這些驅動程式或提供者可能仍會將交易視為已成功認可,因為它們無法擷取例外狀況。 這可能會導致應用程式資料不一致問題。
注意:下列連線提供者可以擷取「不確定」交易的「遠端強化失敗」例外狀況:
- 適用於 SQL Server 的 Microsoft ODBC 驅動程式
- SQL Server Native Client (ODBC)
解決方式
此問題已先在下列 SQL Server 累積更新中修正。
適用於 SQL Server 2014 的累積更新 5 /zh-tw/help/3011055
關於 SQL Server 的累積更新
SQL Server 的每個新累積更新都包含所有 Hotfix 和先前累積更新的所有安全性修正程式。 查看 SQL Server 的最新累積更新:
Hotfix 資訊此 Hotfix 會引進新的追蹤旗標 3923。 當出現 3303 警告訊息時,追蹤旗標會讓 SQL Server 向應用程式擲回例外狀況。
套用 Hotfix 之後,您必須啟用此追蹤旗標才能解決此問題。 有了 Hotfix 和追蹤旗標,應用程式也必須實作驗證程式碼,以檢查在擷取例外狀況之後,交易是否已復原或認可。
Microsoft 提供支援的 Hotfix。 不過,此 Hotfix 僅用來修正本文所述的問題。 僅將此 Hotfix 套用至發生此特定問題的系統。
如果 Hotfix 可供下載,本知識庫文章頂端有「Hotfix 可供下載」一節。 如果未顯示此區段,請提交要求給 Microsoft 客戶服務與支援以取得 Hotfix。
注意: 如果發生其他問題或需要進行任何疑難排解,您可能需要建立另外一個服務要求。 一般的支援費用將適用於不符合此特定 Hotfix 資格的其他支援問題和問題。 如需 Microsoft 客戶服務及支援服務的完整電話號碼清單,或建立個別的服務要求,請造訪下列 Microsoft 網站:
/contactus/?ws=support 注意:「Hotfix 下載可用」表單顯示 Hotfix 可用的語言。 如果您找不到您的語言,是因為該語言沒有 Hotfix。
重新啟動需求套用此 Hotfix 之後,您不必重新啟動電腦。
狀態
Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。