文章編號: 154628 - 上次校閱: 2004年9月22日 - 版次: 2.2 INF:發生多個 TCP\IP 連線請求時 SQL 會記錄 17832
本文曾發行於 CHT154628
重要:本文包含編輯登錄的資訊。在編輯系統登錄之前,請確定萬一發生問題時,您知道如何復原系統登錄。若需如何復原的相關資訊,請參閱 Regedit.exe 中的〈還原登錄〉說明主題,或 Regedt32.exe 中的〈還原登錄機碼〉說明主題。
結論
如果多個一起發生的 TCP/IP 連線請求同時連上 SQL Server (例如全球資訊網WWW伺服器的情形),則 SQL Server 會回應「TCP/IP 重設封包」,快速拒絕這些請求。
此徵狀很難偵測。如果用戶端應用程式包含錯誤碼處理,則 Open() 函數的原生錯誤碼是 10061 (WSAECONNREFUSED)。在伺服器上,SQL 錯誤記錄檔中則會出現錯誤 17832 - "Unable to read login packet" (無法讀取登入封包)。 如果您使用通訊協定解析程式來追蹤此問題,就可以看見伺服器已經以「TCP 重設」 位元集來回覆某些連線請求封包,告訴傳送封包的工作站,表示伺服器已經收到它所傳送的封包,但是伺服器沒有資源可以處理其連線請求。 其他相關資訊
Winsock 應用程式會經由呼叫 Listen()
函數來接受通訊埠的連線,此函數具有一個積存 (Backlog) 參數,可以設定待處理連線佇列的最大長度。Winsock 規格定義最大的 Listen() 積存是 5,超過 5 的時候,TCP/IP 就會發出「重設」封包。
您可以經由修改「Windows NT 登錄」來設定 SQL Server 的積存 (Backlog) 參數,以便處理較多的待處理連線數目。在某些案例中,重設連線的問題可以經由修改登錄獲得解決。 警告:不當使用「登錄編輯器」可能會導致嚴重的問題,甚至必須重新安裝作業系統。Microsoft 不保證可以解決不當使用「登錄編輯器」所造成的錯誤。請自行承擔使用「登錄編輯器」的風險。 如需有關編輯系統登錄的資訊,請檢視「登錄編輯器」(Regedit.exe) 中的〈變更機碼和數值〉說明主題,或是檢視 Regedt32.exe 中的〈新增及刪除登錄中的資訊〉與〈編輯登錄資料〉說明主題。如需編輯登錄的詳細資訊,請檢視「登錄編輯器」(Regedit.exe) 的〈變更機碼與數值〉說明主題,或檢視 Regedt32.exe 中的〈新增及刪除登錄中的資訊〉與〈編輯登錄資料〉說明主題。請注意:您應該先將登錄備份,再開始編輯。 如果執行的是 Windows NT ,也應更新「緊急修復磁片」(ERD)。
有關 Windows NT 與積存 (Backlog) 參數的其他資訊,請參閱下列兩篇 Microsoft Knowledge Base 文件: ?考
本文件是根據 Microsoft Knowledgebase 文件編號 Q154628 翻譯的. 若要參考原始英文文件內容, 請至以下網址:
http://support.microsoft.com/support/kb/articles/Q154/6/28.asp
(http://support.microsoft.com/kb/154628/en-us?ln=en-us&sd=gn&fr=0)
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。 | 其他資源 其他支援網站社群立即取得協助文章翻譯
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email

回此頁最上方
