none
Server TCP provider has stopped listening on portについて RRS feed

  • 質問

  • 環境:Windows2003 Server SP2 + SQL Server 2005 SP2 Enterprise Edition (64-bit)

    こんにちは。

    時々、以下のようなエラーが発生して、瞬間的にサービス停止(停止といいますか、セッションを受け付けないのだと思いますが)の状況になります。

    数秒後に自動で立ち上がってきます。

    エラー: 26040、重大度: 17、状態: 1。

    Server TCP provider has stopped listening on port [ xxxx ] due to a failure. Error: 0x2747, state: 2. The server will automatically attempt to reestablish listening.

     

    調べるかぎり、こちらはハードウェアが怪しいでしょうか。

    http://www.webservertalk.com/archive...2-1340118.html

    http://forums.microsoft.com/MSDN/Sho...eID=1&pageid=1

    ハードウェア障害のエラーは特に出ていませんが、何か原因がありそうでしょうか。

    2010年4月23日 3:34

回答

  • 的を射ているか自信がないのですが、0x2747は10進数で10055です。これがエラー番号だとするとWinerror.hではWSAENOBUFSエラーです。これはソケット通信するためのバッファが不足していることを示します。サーバのメモリリソースがタイトになっていないかパフォーマンスログから確認してみてはいかがでしょうか。

    • 回答の候補に設定 山本春海 2010年4月28日 9:14
    • 回答としてマーク 山本春海 2010年4月30日 9:35
    2010年4月23日 4:04
    モデレータ
  • こんにちは、nagino です。

    補足です。
    エラー番号は ElanLilac 様のご指摘の通りだと思います。
    以下のスレッドに関連しそうな KB や情報が紹介されていますので、一度確認してみてください。
    http://social.technet.microsoft.com/Forums/ja-JP/windowsserver2003ja/thread/02edfa83-cada-4d07-b514-51818e78d268

    あと、今回は OS に SP2 適用済みなので該当しませんが、以下のような KB もありました。
    http://support.microsoft.com/kb/917114/

     


    MCITP(Database Developer/Database Administrator)
    • 回答の候補に設定 山本春海 2010年4月28日 9:14
    • 回答としてマーク 山本春海 2010年4月30日 9:35
    2010年4月23日 14:03
  • おっと、おそらくそちらのエラーの方が原因に近いですね。
    ページファイルが不足しているか、何らかのプロセス(アプリケーションやドライバ、サービスなど形態を問わず)がメモリリークしている際に出るようです。
    何らかのプロセスがメモリをリークしてシステムリソースが不足し、その結果としてネットワーク側にまで波及してしまっているような感じがします。

    ハードウェア構成とページファイルの設定、OS とサービスの構成の確認が必要ですね。
    特に、SQL Server 以外にインストールされているサービスやアプリケーション、デバイスドライバ、周辺機器が何か無いかという点から確認が必要と思われます。

    サーバーの保守契約がある場合は、そちらにデバイスドライバなどのバージョンアップや類似事例が無いか確認されたほうが良いかもしれません。


    MCITP(Database Developer/Database Administrator)
    • 回答の候補に設定 山本春海 2010年4月28日 9:14
    • 回答としてマーク 山本春海 2010年4月30日 9:35
    2010年4月24日 12:12

すべての返信

  • 的を射ているか自信がないのですが、0x2747は10進数で10055です。これがエラー番号だとするとWinerror.hではWSAENOBUFSエラーです。これはソケット通信するためのバッファが不足していることを示します。サーバのメモリリソースがタイトになっていないかパフォーマンスログから確認してみてはいかがでしょうか。

    • 回答の候補に設定 山本春海 2010年4月28日 9:14
    • 回答としてマーク 山本春海 2010年4月30日 9:35
    2010年4月23日 4:04
    モデレータ
  • ElanLilacさま

     

    早速のご回答ありがとうございます。

    なるほど、そういう意味なのですね。

    DBサーバ専用なので、そこまで負荷も高くない感じですが、確認してみます。

    (確かに、Committed Bytes等は物理メモリ量を超えてるような状況でした。)

    また、この件が該当しているかもしれませんね。

    http://support.microsoft.com/kb/948496/ja

    2010年4月23日 7:02
  • こんにちは、nagino です。

    補足です。
    エラー番号は ElanLilac 様のご指摘の通りだと思います。
    以下のスレッドに関連しそうな KB や情報が紹介されていますので、一度確認してみてください。
    http://social.technet.microsoft.com/Forums/ja-JP/windowsserver2003ja/thread/02edfa83-cada-4d07-b514-51818e78d268

    あと、今回は OS に SP2 適用済みなので該当しませんが、以下のような KB もありました。
    http://support.microsoft.com/kb/917114/

     


    MCITP(Database Developer/Database Administrator)
    • 回答の候補に設定 山本春海 2010年4月28日 9:14
    • 回答としてマーク 山本春海 2010年4月30日 9:35
    2010年4月23日 14:03
  • >naginoさま

    いつもありがとうございます、ちょっと確認して参考にしてみます。

    イベントID:2012

    ソース:PerfOS

    システム プロセス情報をシステムから取得できません。 戻された状態コードはデータ セクションの最初の DWORD です。 

    落ちる前に、結構これが頻発するのですが、これはなんなんでしょうか。

    2010年4月24日 7:28
  • おっと、おそらくそちらのエラーの方が原因に近いですね。
    ページファイルが不足しているか、何らかのプロセス(アプリケーションやドライバ、サービスなど形態を問わず)がメモリリークしている際に出るようです。
    何らかのプロセスがメモリをリークしてシステムリソースが不足し、その結果としてネットワーク側にまで波及してしまっているような感じがします。

    ハードウェア構成とページファイルの設定、OS とサービスの構成の確認が必要ですね。
    特に、SQL Server 以外にインストールされているサービスやアプリケーション、デバイスドライバ、周辺機器が何か無いかという点から確認が必要と思われます。

    サーバーの保守契約がある場合は、そちらにデバイスドライバなどのバージョンアップや類似事例が無いか確認されたほうが良いかもしれません。


    MCITP(Database Developer/Database Administrator)
    • 回答の候補に設定 山本春海 2010年4月28日 9:14
    • 回答としてマーク 山本春海 2010年4月30日 9:35
    2010年4月24日 12:12
  • >naginoさま

    情報ありがとうございます。

    確かにページファイルが若干少ない感じでしたので、とりあえず増やして様子を見ている状態です。

    2010年4月30日 10:04
  • とりあえず、現象が起きなくなりました。

    やはり仮想メモリ絡みだったのかもしれません。

    ありがとうございました。

    2010年5月10日 1:34