徵狀
當您在 Microsoft SQL Server 2008 R2 或 Microsoft SQL Server 2012 中擁有 Service Broker 消息轉寄的伺服器時,如果下列一或多個條件成立,您可能會在伺服器上收到「無法使用」錯誤:
-
伺服器為 busy 轉寄 Service Broker 訊息。
-
需要轉寄大量的郵件。
-
在 SQL Server Profiler 追蹤中,您會發現某些訊息由於網路問題或郵件的存留期而無法傳送到目標伺服器。
-
您在 sys. 路由資料表中有許多專案。
此外,郵件處理的效能也會減少。
原因
錯誤記錄中的「無法產生」訊息就是警告。 當您收到這則訊息時,SQL server 正在忙於檢查郵件目標清單。 此外,SQL server 會判斷郵件的時間是否超過超時值,並且需要刪除。 如果路由資料表的大小很大且郵寄清單很長,這個程式可能需要花很長的時間才能完成導致「無法產生」錯誤的工作。
解決方案
累積更新資訊
SQL Server 2012 累計更新6
此問題的修正程式是在累積更新6中第一次發行。如需如何取得此 SQL Server 2012 累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2728897 SQL Server 2012 累計更新套件6注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2012 修正版本中所包含的所有修復程式及所有安全性修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
2692828 在發行 SQL Server 2012 之後發行的 SQL Server 2012 組建
SQL Server 2012 SP1 的累積更新2
此問題的修正程式是在累積更新2中第一次發行。如需有關如何取得 SQL Server 2012 SP1 累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2790947 SQL Server 2012 的累積更新套件 2 Service Pack 1注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2012 SP1 修正版本中所包含的所有修復程式及所有安全修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
2772858 在發行 SQL Server 2012 Service Pack 1 之後發行的 SQL Server 2012 組建
累積更新4 SQL Server 2008 R2 Service Pack 2 (SP2)
此問題的修正程式是以累積更新4第一次發行。如需有關如何取得適用于 SQL Server 2008 R2 Service Pack 2 之累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2777358 SQL Server 2008 R2 Service Pack 2 的累積更新套件4注意: 因為組建是累加的,所以每個新的修正程式版本都包含舊版 SQL Server 2008 R2 Service Pack 2 (修正版本)所包含的所有修復程式及所有安全修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
2730301 在發行 SQL Server 2008 R2 Service Pack 2 之後發行的 SQL Server 2008 R2 組建
狀態
Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有上述問題。