徵狀
請試想下列案例:
-
用戶端應用程式會連接到 Microsoft SQL Server 2008 或 Microsoft SQL Server 2008 R2 實例。
-
當 SQL Server 重設 SQL Server 2008 或 SQL Server 2008 R2 與用戶端應用程式之間的連線時,會發生查詢超時。 或者,用戶端應用程式會將查詢取消至 SQL Server 實例,明確地傳送注意信號。
在這種情況下,SQL Server 會執行強制關閉連線,而且您可能會收到下列其中一則錯誤訊息:
-
錯誤訊息 1
目前的命令發生嚴重錯誤。 結果(如果有的話)應該捨棄。
-
錯誤訊息 2
從伺服器接收結果時發生傳輸層級錯誤。 (提供者: TCP 提供者,錯誤: 0 - 遠端主機已強制關閉一個現存的連線)
此外,類似下列的錯誤訊息會記錄在 SQL Server 錯誤日誌檔中:
<日期><時間> <spid> 錯誤:18056,嚴重性:20,狀態: 29. <日期><> <spid> 用戶端無法重複使用 <SPID> 的會話,該會話已針對連接池重設。 失敗識別碼是29。 此錯誤可能是由先前的操作失敗所造成。 檢查錯誤記錄,看看是否在此錯誤訊息前立即發生失敗的操作。
解決方案
累積更新資訊
SQL Server 2008 R2 Service Pack 2
此問題的修正程式是在 SQL Server 2008 R2 Service Pack 2 的累積更新1中第一次發行。如需如何取得此累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2720425 SQL Server 2008 R2 Service Pack 2 的累積式更新套件1注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 R2 修正版本中所包含的所有修復程式及所有安全性修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
2730301 在發行 SQL Server 2008 R2 Service Pack 2 之後發行的 SQL Server 2008 R2 組建
SQL Server 2008 Service Pack 3
此問題的修正程式是在 SQL Server 2008 的累積更新6(Service Pack 3)中第一次發行。如需此累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2715953 SQL Server 2008 累積更新套件 6 Service Pack 3注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 修正版本中所包含的所有修復程式及所有安全性修正程式。 Microsoft 建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
2629969 在發行 SQL Server 2008 Service Pack 3 之後發行的 SQL Server 2008 組建 Microsoft SQL Server 2008 修復程式是針對特定的 SQL Server service pack 建立的。 您必須將 SQL Server 2008 Service Pack 3 修復程式套用至 SQL Server 2008 Service Pack 3 的安裝。 根據預設,SQL Server service pack 中提供的任何熱修復程式都包含在下一個 SQL Server service pack 中。
SQL Server 2008 R2
此問題的修正程式是在累積更新14中第一次發行。如需有關如何取得 SQL Server 2008 R2 累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2703280 SQL Server 2008 R2 的累積更新套件14 注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 R2 修正版本中所包含的所有修復程式及所有安全性修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
981356 在發行 SQL Server 2008 R2 之後發行的 SQL Server 2008 R2 組建
SQL Server 2008 Service Pack 1
此問題的修正程式是在 SQL Server 2008 Service Pack 1 的累積更新14中第一次發行。如需此累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2527187 SQL Server 2008 的累積更新套件 14 Service Pack 1注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 修正版本中所包含的所有修復程式及所有安全性修正程式。 Microsoft 建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
956909 在發行 SQL Server 2008 之後發行的 SQL Server 2008 組建 Microsoft SQL Server 2008 修復程式是針對特定的 SQL Server service pack 建立的。 您必須將 SQL Server 2008 Service Pack 1 修補程式套用至 SQL Server 2008 Service Pack 1 的安裝。 根據預設,SQL Server service pack 中提供的任何熱修復程式都包含在下一個 SQL Server service pack 中。
SQL Server 2008 Service Pack 2
此問題的修正程式會在 SQL Server 2008 Service Pack 2 的累積更新10中第一次發行。如需此累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2696625 SQL Server 2008 的累積更新套件 10 Service Pack 2注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 修正版本中所包含的所有修復程式及所有安全性修正程式。 Microsoft 建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
2402659 在發行 SQL Server 2008 Service Pack 2 之後發行的 SQL Server 2008 組建 Microsoft SQL Server 2008 修復程式是針對特定的 SQL Server service pack 建立的。 您必須將 SQL Server 2008 Service Pack 2 修補程式套用至 SQL Server 2008 Service Pack 2 的安裝。 根據預設,SQL Server service pack 中提供的任何熱修復程式都包含在下一個 SQL Server service pack 中。
SQL Server 2008 R2 Service Pack 1
此問題的修正程式是在 SQL Server 2008 R2 Service Pack 1 的累積更新6中第一次發行。如需如何取得此累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:
2679367 SQL Server 2008 R2 Service Pack 1 的累積更新套件6注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 R2 修正版本中所包含的所有修復程式及所有安全性修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
2567616 在發行 SQL Server 2008 R2 Service Pack 1 之後發行的 SQL Server 2008 R2 組建
狀態
Microsoft 已確認<適用於>一節中所列的 Microsoft 產品確實有上述問題。
其他相關資訊
如需此問題的詳細資訊(包括疑難排解步驟),請參閱下列來自 SQL Server 升級服務小組的博客文章: