次の方法で共有


MSSQLSERVER_846

適用対象: SQL サーバー

詳細

属性 Value
製品名 SQL Server
イベント ID 846
イベント ソース MSSQLSERVER
コンポーネント SQLEngine
シンボル名 該当なし
メッセージ テキスト バッファー ラッチを待機中にタイムアウトが発生しました。型 %d、BP %p、ページ %d:%d、状態 %#x、データベース ID: %d、アロケーション ユニット ID: %I64d%ls、タスク 0x%p : %d、待機時間 %d、フラグ 0x%I64x、所有しているタスク 0x%p。 待機は続行されません。

説明

コンピューターが応答を停止したり、SQL Server がバッファー ラッチ エラーを SQL Server エラー ログに書き込んだりすると、タイムアウトやその他の通常の操作の中断が同時に発生する可能性があります。

メッセージ内の stat フィールドの値が 0x04 on の場合、SQL Server は I/O 操作を待機しています。 SQL Server エラー ログにメッセージ MSSQLSERVER_833 が表示される場合もあります。

メッセージの状態フィールドの値 0x04 がオフの場合、ページに対して多数の競合が存在します。 オブジェクトがデータ ページの場合、非効率なコード デザインに起因している可能性があります。 データ以外のページの場合、ハードウェア リソースの不足など、サーバーのボトルネックによってエラーが発生した可能性があります。

ユーザーの操作

この問題を回避するには、環境に応じて次の 1 つ以上の手順を実行します。これにより、エラー メッセージの発生を回避または減らすことができる可能性があります。

  • ハードウェアにボトルネックがあるかどうかを判断します。 必要な場合、使用している環境の構成、クエリ、および負荷要件がサポートされるように、ハードウェアをアップグレードします。 ボトルネックの詳細については、「Identify Bottlenecks」 (ボトルネックの特定) を参照してください。

  • 記録されたエラーを確認し、ハードウェア ベンダーの提供する診断を実行します。

  • ディスク ドライブが圧縮されていないことを確認してください。 データ ファイルやログ ファイルを圧縮ドライブに格納することはできません。 物理的ファイルの詳細については、「Database Files and Filegroups」 (データベース ファイルとファイル グループ) をご覧ください。

  • 次のオプションをオフに設定して、エラー メッセージが消えるかどうかを確認します。

    • SQL Server の priority boost 構成オプション

    • 簡易プーリング (ファイバー モード) オプション

    • set working set size オプション

    Note

    これらの設定を既定のオフから変更すると、多くの場合、効率が悪化します。 設定の詳細については、「 Server 構成オプション (SQL Server)」を参照してください。

  • クエリをチューニングして、システムで使用するリソースを削減します。 パフォーマンス チューニングは、システム負荷の削減と、個々のクエリの応答時間改善に役立ちます。

  • AUTO_SHRINK オプションをオフにして、データベース サイズに対する変更のオーバーヘッドを軽減します。

  • FILEGROWTH オプションに、頻繁になりすぎないように十分な大きさを持った増分値を設定するようにします。 データベース内で使用可能な領域を確認するジョブをスケジュールし、ピーク時以外にデータベース サイズを大きくします。