次の方法で共有


MSSQLSERVER_802 - データベース エンジン エラー

適用対象: SQL サーバー

詳細

属性 Value
製品名 SQL Server
イベント ID 802
イベント ソース MSSQLSERVER
コンポーネント SQLEngine
シンボル名 NO_BUFS
メッセージ テキスト バッファー プールで使用できるメモリが不足しています。

Note

この記事では、SQL Server について重点的に説明します。 Azure SQL Database のメモリ不足の問題のトラブルシューティングについて詳しくは、「Azure SQL Database によるメモリ不足エラーのトラブルシューティング」をご覧ください。

説明

この問題は、バッファー プールがいっぱいになり、それ以上バッファー プールのサイズを大きくできない場合に発生します。

ユーザー アクション

メモリ エラーのトラブルシューティングに役立つ一般的な手順の概略を次に示します。

  1. このサーバー上で、他のアプリケーションやサービスによってメモリが消費されていないか確認します。 重要度の低いアプリケーションやサービスのメモリ消費量が少なくなるように、構成を変更します。

  2. SQL Server: Buffer Manager および SQL Server: Memory Manager のパフォーマンス モニター カウンターを確認します。

  3. 次に示す SQL Server メモリ構成パラメーターを確認します。

    • max server memory

    • min server memory

    • min memory per query

    通常とは異なる設定がないか確認し、必要に応じて修正します。 SQL Server のメモリ要件の増加を考慮します。 既定の設定については、「サーバー メモリの構成オプション」に記載されています。

  4. DBCC MEMORYSTATUS 出力を監視し、エラー メッセージが表示された場合にどのように変化するかを調べます。

  5. ワークロード (同時セッション数や現在実行中のクエリ数など) をチェックします。

次のアクションにより、SQL Server で使用可能なメモリが増える可能性があります。

  • SQL Server 以外のアプリケーションがリソースを消費している場合は、これらのアプリケーションを停止するか、別のサーバーで実行してみてください。

  • 最大サーバー メモリを構成した場合は、設定値を大きくします。 詳細については、「オプションの手動設定」を参照してください。

次の DBCC コマンドを実行して、いくつかの SQL Server メモリ キャッシュを解放します。

  • DBCC FREESYSTEMCACHE

  • DBCC FREESESSIONCACHE

  • DBCC FREEPROCCACHE

問題が解決しない場合は、さらに調査します。ワークロードの軽減が必要になる場合もあります。