KB2933780 - 修正:即使 SQL Server 2012 或 SQL Server 2014 的 AlwaysOn 可用性群組中成功收到 ACK,訊息不會從傳輸佇列中移除

Applies To
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

症狀

請考慮以下案例:

  • 您可以在 AlwaysOn Group 資料庫中啟用Microsoft SQL Server Service Broker (SSB) SQL Server。
  • 關閉並重新啟動資料庫。
  • 請確定已成功收到 [確認 (確認]) 。

在此案例中,即使成功收到 ACK,也不會從傳輸佇列中移除訊息。

原因

發生此問題的原因是,當您在乾淨關機之後啟動資料庫時,SQL Server 不會檢查傳輸佇列延遲刪除工作是否可重複使用。 它假設傳輸佇列延遲刪除工作正常。

解決方式

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

SQL Server 2014 累積更新 1 /zh-tw/help/2931693

SQL Server 2012 SP1 的累積更新 9 /en-us/help/2931078

關於 SQL Server 的累積更新

SQL Server 的每個新累積更新都包含所有 Hotfix 和先前累積更新的所有安全性修正程式。 查看 SQL Server 的最新累積更新:

      

因應措施

若要解決此問題,請將 SQL Server 可用性群組容錯移轉至次要複本 (,並在必要時) 容錯回復。

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。