構成オプションを使用して SQL Server のメモリ使用量を調整する方法

適用対象: Microsoft SQL Server 2005 Standard EditionMicrosoft SQL Server 2005 Developer EditionMicrosoft SQL Server 2005 Enterprise Edition

中小企業のお客様は、中小企業向けサポート サイトで問題解決や学習に関する他のリソースを参照できます。

概要


SQL Server を起動すると、SQL Server のメモリ使用量が増加し続け、サーバーで多くの処理が発生していないときでも、メモリ使用量は減少しません。また、タスク マネージャーおよびパフォーマンス モニターでは、使用可能なメモリが 4 MB から 10 MB の間になるまで、コンピューターで使用可能な物理メモリが減少し続けます。

この現象自体は、メモリ リークを示すものではありません。この現象は正常であり、SQL Server のバッファー プールの仕様によるものです。

既定で、SQL Server ではオペレーティング システムから報告される物理メモリの負荷に合わせて、動的にバッファー プール (キャッシュ) のサイズが拡張または圧縮されます。ページングの防止に必要な量のメモリ (4 MB から 10 MB の間) が確保されている限り、SQL Server のバッファー プールは拡張し続けます。SQL Server と同じコンピューターの他のプロセスでメモリの割り当てが行われると、SQL Server のバッファー マネージャーは必要に応じてメモリを解放します。SQL Server は、1 秒間に MB 単位でメモリの解放または取得を行うことができ、メモリ割り当ての変化にすばやく対応できます。

詳細


min server memory および max server memory 構成オプションを使用して、SQL Server データベース エンジンで使用されるメモリ (バッファー プール) の容量の上限値と下限値を設定できます。min server memory および max server memory オプションを設定する前に、次のサポート技術情報の「メモリ」に記載されている関連情報を参照してください。

319942 [HOWTO] SQL Server の適切な環境設定を確認する方法
max server memory オプションで制限できるのは、SQL Server のバッファー プール サイズのみです。拡張ストアド プロシージャ、COM オブジェクト、共有されていない DLL、EXE、MAPI コンポーネントなどのコンポーネントのための、SQL Server によって確保されないメモリ領域は、max server memory オプションでは制限されません。このメモリ領域の割り当てによって SQL Server のプライベート バイトが max server memory の構成を超えることがありますが、これは正常な動作です。

このような確保されないメモリ領域からの割り当てについての詳細については、以下のサポート技術情報番号をクリックしてください。

316749 [PRB] 多数のデータベースを含むシステムで仮想メモリが不足することがある

関連情報

SQL Server Books Online のトピック「最小および最大サーバー メモリの効果」、「メモリ アーキテクチャ」、「server memory オプション」、「SQL Server のメモリ プール」を参照してください。



SQL Server 2005 の min server memory 構成オプションおよび max server memory 構成オプションの詳細については、SQL Server 2005 Books Online のトピック「」を参照してください。