SQL Serverでメモリプールに関連する環境設定パラメータは以下の4つがあります。
●min server memory/max server memoryオプション
min server memoryでメモリプールの最小値、max server memoryでメモリプールの最大値を設定します。SQL Serverはこの最小値と最大値の間でメモリサイズを自動調節します。もしmin server memoryとmax server memoryを同じ値にすると、固定メモリサイズになります。
SQL Server Enterprise Managerでは[サーバー]プロパティの[メモリ]タブにある[SQL Serverメモリの動的設定]で最小値(min server memory)および最大値(max server memory)を(画面1-A)、[固定メモリサイズを使用]で固定値(min server memoryとmax server memoryが同じ値)を設定します(画面1-B)。
●set working set sizeオプション
set working set sizeオプションを1にするとサーバーのメモリ設定値と同じサイズの物理メモリ領域がSQL Server用に予約されます。すなわち、他のアプリケーションがメモリを使用したくても、SQL ServerのメモリページはOSによってスワップアウトされません。しかし、マイクロソフト サポート技術情報の文書 319942「SQL Server の適切な環境設定を確認する方法」では、次のように記載されています。
「set working set size のデフォルトの設定を変更しないでください。 ……中略…… set working set size の設定を変更しても、一般的にパフォーマンスは向上しません。実際のサポート事例によると、この設定を変更した場合、通常は悪影響の方が大きいことがわかっています。」
したがって、もし設定を変更した場合は必ずパフォーマンス向上効果を確認してください。
SQL Server Enterprise Managerでは[サーバー]プロパティの[メモリ]タブにある[SQL Serverの物理メモリの予約]にチェックして設定します(画面1-C)。
●min memory per queryオプション
min memory per queryオプションはクエリが実行する際に必要なメモリの最小値を設定します。したがって、大量のデータに対してハッシュや並び替え操作を伴うようなメモリを多量に必要とするクエリに対しては、適切なサイズを設定しておけばパフォーマンスが向上する可能性があります。
SQL Server Enterprise Managerでは[サーバー]プロパティの[メモリ]タブにある[最小クエリメモリ]にKB単位で設定します(画面1-D)。
| ■ 画面1 メモリプールに関連する環境設定パラメータ |
 |
 |
|