最小および最大サーバー メモリの効果

min server memory および max server memory 構成オプションは、Microsoft SQL Server データベース エンジンのバッファ プールが使用するメモリ容量の上限と下限を設定します。バッファ プールは、min server memory に指定されたメモリ容量をすぐには獲得しません。バッファ プールは、初期化に必要なメモリのみで起動します。データベース エンジンのワークロードが増えるにしたがって、そのワークロードに対応するために必要なメモリを獲得し続けます。バッファ プールは、min server memory で指定しされたメモリ容量に達するまでは獲得したメモリを解放しません。メモリ容量が min server memory に達すると、バッファ プールは標準アルゴリズムを使用して、必要に応じてメモリ容量を獲得または解放します。唯一の違いは、バッファ プールはそのメモリ割り当てを min server memory の値より少ないメモリ容量にはせず、max server memory の値より多いメモリ容量は獲得しないということです。

注意

プロセスとしての SQL Server は、max server memory オプションで指定された容量を超えるメモリを獲得します。内部コンポーネントも外部コンポーネントも、バッファ プール外にメモリ容量を割り当てることができます。この場合は、メモリ容量が余分に消費されますが、通常、SQL Server によって消費されるメモリ容量の最大部分は、バッファ プールに割り当てられたメモリ容量が占めます。

データベース エンジンが獲得するメモリ容量は、そのインスタンスのワークロードに完全に依存します。あまり多くの要求を処理しない SQL Server のインスタンスでは、まったく min server memory に達しないこともあります。

min server memorymax server memory の両方に同じ値を指定した場合、データベース エンジンに割り当てられたメモリがその値に達すると、データベース エンジンは動的なメモリの解放および獲得を停止します。

他のアプリケーションが頻繁に停止または起動されるコンピュータ上で SQL Server のインスタンスが動作している場合、SQL Server のインスタンスによるメモリの割り当てと解放により、他のアプリケーションの起動時間が遅くなることがあります。SQL Server が、1 つのコンピュータ上で動作している複数のサーバー アプリケーションのうちの 1 つであるときも、SQL Server に割り当てるメモリ量をシステム管理者が制御しなければならない場合があります。このような場合には、min server memory オプションと max server memory オプションを使用して、SQL Server が使用するメモリ量を制御できます。詳細については、「サーバー メモリ オプション」を参照してください。

min server memory および max server memory は MB 単位で指定されます。