SQL Server のエラー メッセージ 844 または 845 の一般的な原因

現象

コンピュータが応答を停止 (ハングアップ) するか、または SQL Server が SQL Server エラー ログにバッファ ラッチ エラーを記録すると同時に、タイムアウトまたは通常の操作を中断させるその他のエラーが発生することがあります。通常の操作が中断された結果、以下のエラー メッセージが表示されます。

エラー 844: バッファ ラッチ待機中にエラーが発生しました。型 %1!、BP %2!、ページ %3!、状態 %4!、オブジェクト ID %5!:%6!:%7!、待機時間 %8!。待機を続行中です。
エラー 845: バッファ ラッチ待機中にエラーが発生しました。型 %1!、ページ %2!、データベース ID %3!。
警告 : EC 6ed70090, 2 waited 600 sec. on latch 6ed834bc. Not a BUF latch.

原因

これらのエラー メッセージは、システムの全体的なオペレーティング環境によって異なります。以下の環境は、システムの負荷が過度に高くなる原因となることがあります。

  • ハードウェアが、そのシステムの要求する入出力 (I/O) およびメモリの必要条件を満たしていません。


  • 設定が適切に構成およびテストされていません。


  • 効率的にデザインされていません。
システムに高い負荷がかかっているか、使用しているハードウェアの性能を上回るハードウェアがシステムに必要な場合、システムがバッファ エラー メッセージを生成することがあります。以下に、環境の負荷を高くする最も一般的な原因の一部を示します。


  • ハードウェアに問題があります。
  • ドライブが圧縮されています。
  • SQL Server の構成がデフォルトの構成ではありません。
  • クエリが効率的でないか、インデックスが効率的にデザインされていません。または、これらの両方が該当します。
  • データベースに対して頻繁に自動拡張操作または自動圧縮操作を行っています。

回避策

この問題の回避策は、使用している環境によって異なります。以下の 1 つ以上の手順を実行すると、これらのエラー メッセージが減少または解消することがあります。

  • ハードウェア ボトルネックが存在しているかどうかを判断します。最初に、SQL Server 2000 Books Online の「ボトルネックの特定」を参照することをお勧めします。必要に応じて、使用中の環境設定、クエリ、および負荷の必要条件を満たす適切なハードウェアにアップグレードします。


  • すべてのハードウェアが正常に機能していることを確認します。記録されたエラーを確認し、ハードウェア ベンダが提供している診断ツールを実行します。


  • ディスク ドライブが圧縮されていないことを確認します。SQL Server 2000 Books Online の「物理データベース ファイルとファイル グループ」に記載されているように、圧縮ドライブ上にデータ ファイルまたはログ ファイルを保存することはサポートされていません。
    圧縮ドライブのサポートの関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。

    231347
    [SQL]INF: SQL Server は圧縮ボリュームをサポートしない
  • 以下のすべてのオプションを無効にした場合に、上記のエラー メッセージが表示されなくなるかどうかを確認します。


    • SQL Server の priority boost 構成オプション
    • lightweight pooling (ファイバ モード) オプション
    • set working set size オプション


    これらはデフォルトでは無効 (0) に設定されていますが、設定を変更した場合、逆効果をもたらすことがあります。これらの設定の詳細については、SQL Server 2000 Books Online の「環境設定オプションの設定」および「sp_dboption」を参照してください。
    関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。

    319942
    [HOWTO] SQL Server の適切な環境設定を確認する方法
  • クエリをチューニングし、システムで使用するリソースを減らします。パフォーマンスをチューニングすることによって、個別のクエリの応答時間が向上されるだけでなく、システムの負荷を軽減するのに役立ちます。
    関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
    224587
    [HOWTO] SQL Server に関するアプリケーション パフォーマンスのトラブルシューティング

  • AutoShrink プロパティを無効 (FALSE) に設定し、データベースのサイズ変更のオーバーヘッドを軽減します。


  • AutoGrow プロパティに、データベース サイズの拡張を頻繁に行う必要のない増分値が設定されていることを確認します。データベースで利用できる領域を調べるジョブをスケジュールし、ピーク時以外にデータベース サイズを増やします。


  • エラー メッセージ 844 またはエラー メッセージ 845 が頻繁に表示されない場合、SQL Server 2000 Books Online に記載されているように、これらのエラーを無視できます。

関連情報

システムの監視方法およびこの資料の「回避策」で提案した変更を実装する方法の詳細については、SQL Server 2000 Books Online の以下のトピックを参照してください。


「エラー ログの表示」

「データベース パフォーマンスの最適化の概要」

「パフォーマンスの評価」

「インデックス」

「インデックスの設計」

「インデックス チューニング ウィザード」

「クエリの分析」


その他のある特定の環境において、エラー メッセージ 844 およびエラー メッセージ 845 がバグを示す場合があります。
発生する可能性のある障害の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。

309093
[FIX] プロシージャをキャッシュから削除するとバッファ ラッチがタイムアウトするかサーバーの速度が低下する
303640
[FIX] ラッチ タイムアウトを警告するエラーがエラー ログに記録され、AWE を有効にしていると SQL Server の応答が遅くなる

プロパティ

文書番号:310834 - 最終更新日: 2008/07/11 - リビジョン: 1

フィードバック