[SQL]INF: 複数の TCP/IP 接続要求でエラー 17832 が記録される

文書翻訳 文書翻訳
文書番号: 154628 - 対象製品
この記事は、以前は次の ID で公開されていました: JP154628
すべて展開する | すべて折りたたむ

概要

  重要: この文書はレジストリの編集に関する情報を含んでいます。レジストリの編集
        を行う前に、もし問題が発生した場合にそれを復元する方法を理解していること
        を確認してください。レジストリの復元に関する情報は、
        Regedit.exe のヘルプ トピック "レジストリを復元する" または Rededt32.exe
        のヘルプ トピック "レジストリ キーを復元するには" を参照してください。
SQL Server が同時に複数の TCP/IP 接続要求に遭遇した場合 (たとえば World Wide Web サーバでのケース)、その要求は TCP/IP Reset Frame の応答によって即座に拒絶されます。

この現象を見つけることは困難です。クライアント アプリケーションがエラー コードのハンドリングを行っている場合、Open() 関数のネイティブ エラー コードは 10061 (WSAECONNREFUSED) です。サーバでは、SQL エラー ログにエラー 17832 - "Unable to read login packet" が見られます。

この問題をプロトコル アナライザでトレースした場合、TCP Reset ビットのセットされた接続要求フレームが応答されるのを見ることができます。それは、フレームは受け取ったがサーバはその接続要求を処理するリソースを持っていないことを送信ステーションに知らせます。

詳細

Winsock アプリケーションは、Listen() 関数の呼び出しによってポート上の接続を受け入れます。Listen() 関数は、未処理接続キュー (pending-connection queue) の最大長を指定している backlog パラメータを持っています。Winsock の仕様は、最大 Listen()backlog を 5 と定義しています。5 を超過した場合、TCP/IP は Reset を発行します。

SQL Server 用の backlog は、Windows NT レジストリを変更することによって、多数の未処理接続を扱うように構成することができます。場合によっては、その変更によって接続リセットの問題を解決することができます。

警告. レジストリ エディタの不正な使用は、オペレーティング システムの再インストールを必要とするような深刻な問題を引き起こすことがあります。マイクロソフトでは、レジストリ エディタの不正な使用から生じた問題の解決を保証することはできません。レジストリ エディタはお客様自身の責任でご使用ください。

レジストリの編集方法に関する情報は、レジストリ エディタ (Regedit.exe) のヘルプ トピック "キーまたは値の名前を変更する" または Regedt32.exe のヘルプ トピック "レジストリ情報の追加と削除" と "レジストリを編集する" を参照してください。また、レジストリを編集する前には、必ずレジストリのバックアップを行うべきです。もし Windows NT を実行している場合は、システム修復ディスク (Emergency Repair Disk (ERD)) もまた更新すべきです。

  1. レジストリ エディタ (REGEDT32.EXE) を起動し、HKEY_LOCAL_MACHINE サブツリーの次のサブキーを探します。
         \Software\Microsoft\MSSQLServer\MSSQLServer
    
    注意.
    • SQL 4.21a では、HKEY_LOCAL_MACHINE サブツリー内の下記レジストリサブキーが対応します。
               \Software\Microsoft\SQLServer\Server
      
    • クラスタ環境で SQL Server 6.5 Enterprise Edition を仮想 SQL Server として実行している場合は、標準サブ キーではなく仮想サーバ キーを変更しなければなりません。標準サブ キーは次のとおりです。
               \Software\Microsoft\MSSQLServer\MSSQLServer 
      
      仮想サーバ キーは次のとおりです。
               \Software\Microsoft\MSSQLServer$VirtualServerName 
               \MSSQLServer$VirtualServerName 
      
               値の名前 :      WinsockListenBacklog 
               データ タイプ : REG_DWORD 
               データ :        190 
      
  2. MSSQLServer サブキーを選択し、編集メニューから値の追加を選択します。
  3. 次の値を入力します。
          値の名前 :      WinsockListenBacklog
          データ タイプ : REG_DWORD
          データ :        < 範囲は 1 から 0xFFFFFFFF >
    
    注意. データに高い値を設定した場合、その値は全般的なシステム リソースに影響します。Windows NT のすべてのアプリケーションのための最大 backlog は 100 です。この値のテストとして提案される方法は、値を 5 づつ増やして設定し、接続のリセットが止まるまでその結果を観察することです。
  4. OK をクリックし、レジストリ エディタを終了します。
  5. Windows NT を再起動します。
Listen() 関数に関する詳細は、Win32 SDK Programmer's reference を参照してください。

backlog パラメータと Windows NT に関する詳細は、Microsoft Knowledge Base の次の 2 つのアーティクルを参照してください。
113576 : WinSocket App's Reject Connection Requests with Reset Frames

127144 : Windows NT 3.5 Winsock Listen (Backlog) Parameter Limit

関連情報

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 154628 (最終更新日 1999-05-20) をもとに作成したものです。

プロパティ

文書番号: 154628 - 最終更新日: 2004年2月11日 - リビジョン: 4.0
この資料は以下の製品について記述したものです。
  • Microsoft SQL Server 6.0 Standard Edition
  • Microsoft SQL Server 6.5 Standard Edition
キーワード:?
kbinfo KB154628
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"
サポート期間が終了した「サポート技術情報」資料に関する免責事項
この資料は、マイクロソフトでサポートされていない製品について記述したものです。そのため、この資料は現状ベースで提供されており、今後更新されることはありません。

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com