locked
DBサーバーのsqlserverのCPU使用率が100%になり、接続できない。 RRS feed

  • 質問

  • DBサーバーのsqlserverのCPU使用率が100%になり、MOSSが表示されない障害が発生しました。

    とりあえず、復旧優先で、SQLServerを再起動しようとしましたが、サービスを落とすことができなかった為、
    強引にプロセスをkillして、立ち上げなおしたところ、復旧できました。
    SQLServerのログを確認したところ、「Non-yielding IOCP Listener」のエラーが発生しており、
    Webで調べると、文章番号941689で「FIX:、SQL Server 2005 のインスタンスに接続できないし、エラー メッセージが SQL Server エラー ログに記録されます」が発行されていて、解決策としては、修正プログラムをあてるように出ているのですが、
    この事象が発生する原因が記載されておらず、特定できません。

    できれば、TEST環境にて同問題を再現させたのち、修正プログラムを当てたら再現しないことと他に問題が無いことを
    明確にしてから、本番環境に修正プログラムを当てたいのですが、再現する方法がわかりません。

    どなたか、ご存知の方がいらっしゃいましたら、ご教授お願いいたします。

    環境構成は以下です。
    ・Webフロントエンド OS:Win2003Server 64bit /MOSS2007 SP1
    ・Indexサーバー OS:Win2003Server 64bit /MOSS2007 SP1
    ・DBサーバー OS:Win2003Server 64bit /SQLServer2005 Standard SP2

    2010年8月24日 4:57

回答

  • SQLはSharePointのデータが全て格納された中核のため、さまざまなケースで過負荷に陥る可能性があります。
    この場合、サーバのエラーメッセージは必ずしもアテになりません。
    なぜなら、メッセージはあくまで最終的にSQL内で発生した障害を示しているだけであり、その障害のトリガとなった「本当の」原因は解らないからです。
    それを特定しない限り、同じ障害が発生する可能性があります。

    で、肝心の原因特定方法ですが、実はありません(汗) パフォーマンスモニタをしかけて、いつどこで不自然な負荷が発生するのかを地道に調査する必要があります。
    これはとてもいち管理者の手におえるものでは無いため、できればMicrosoftのサポートの利用をオススメします(もちろん有料ですが…そのほうが最終的には安価だと思います)

    なお、あくまで参考情報ですが、SQLが過負荷におちいるケースとして、次のような場合がありえます。
    ・dbが過度に(論理)断片化している
    ・ひとつのサイトコレクションに大量のデータがある。
    ・ひとつのコンテンツデータベースに〃
    ・カスタマイズしたXLTが不適切な処理をしている。

    SharePoint MANIACS あなたの SharePoint 活用できていますか?ちいさな「アドバイス」からご支援します。 http://sharepointmaniacs.com/sm_advservice.php
    • 編集済み 中村 和彦 2010年8月24日 11:00 Henshu
    • 回答の候補に設定 星 睦美 2010年8月26日 0:57
    • 回答としてマーク 星 睦美 2010年8月30日 1:10
    2010年8月24日 8:29

すべての返信

  • SQLはSharePointのデータが全て格納された中核のため、さまざまなケースで過負荷に陥る可能性があります。
    この場合、サーバのエラーメッセージは必ずしもアテになりません。
    なぜなら、メッセージはあくまで最終的にSQL内で発生した障害を示しているだけであり、その障害のトリガとなった「本当の」原因は解らないからです。
    それを特定しない限り、同じ障害が発生する可能性があります。

    で、肝心の原因特定方法ですが、実はありません(汗) パフォーマンスモニタをしかけて、いつどこで不自然な負荷が発生するのかを地道に調査する必要があります。
    これはとてもいち管理者の手におえるものでは無いため、できればMicrosoftのサポートの利用をオススメします(もちろん有料ですが…そのほうが最終的には安価だと思います)

    なお、あくまで参考情報ですが、SQLが過負荷におちいるケースとして、次のような場合がありえます。
    ・dbが過度に(論理)断片化している
    ・ひとつのサイトコレクションに大量のデータがある。
    ・ひとつのコンテンツデータベースに〃
    ・カスタマイズしたXLTが不適切な処理をしている。

    SharePoint MANIACS あなたの SharePoint 活用できていますか?ちいさな「アドバイス」からご支援します。 http://sharepointmaniacs.com/sm_advservice.php
    • 編集済み 中村 和彦 2010年8月24日 11:00 Henshu
    • 回答の候補に設定 星 睦美 2010年8月26日 0:57
    • 回答としてマーク 星 睦美 2010年8月30日 1:10
    2010年8月24日 8:29
  • こんにちは、フォーラム オペレーターの星 睦美です。

    中村 和彦 さん、回答ありがとうございます。

    nakata78 さん、

    中村 和彦さんが回答されているように、SQL Server 側で発生したエラーのため MOSS を含めた環境での原因の特定と事象の再現は難しいかも知れません。

    私のほうで調べましたところ、SQL Server フォーラムの過去のスレッドに参考になりそうな情報がありましたのでご紹介しますね。

    ・IntegrityCheck時に、SQL Serverが停止する障害について:
    http://social.msdn.microsoft.com/Forums/ja-JP/sqlserverja/thread/20c2b967-cc82-4e9e-a502-63facf387562

    ・DBCC MEMORYSTATUS コマンドを使用して SQL Server 2005 のメモリ使用量を監視する方法:
    http://support.microsoft.com/kb/907877

    __________________________________________________
    マイクロソフト株式会社 フォーラム オペレーター 星 睦美

    2010年8月25日 4:44
  • 中村さん、星さん ご返信及び情報ありがとうございました。

    サポートを利用することも検討してみたいと思いますが、
    サービスパックを適用する方向で検証を進めていきたいと思います。

    =========
    nakata78

    2010年8月26日 9:02