Microsoft SQL Server の Memory Manager オブジェクトには、サーバーの全体的なメモリ使用量を監視するためのカウンターが用意されています。 サーバーの全体的なメモリ使用量を監視して、ユーザーのアクティビティとリソースの使用状況を測定すると、パフォーマンスのボトルネックを特定するのに役立ちます。 SQL Server のインスタンスによって使用されるメモリの監視は、次の判断に役立ちます。
頻繁にアクセスされるデータをキャッシュに格納するための不十分な物理メモリのボトルネックが存在する場合。 メモリが不足している場合、SQL Server はディスクからデータを取得する必要があります。
より多くのメモリを追加するか、データ キャッシュまたは SQL Server の内部構造でより多くのメモリを使用できるようにすることで、クエリのパフォーマンスを向上できる場合。
メモリ管理カウンタ
次の表では、SQL Server メモリ マネージャー カウンターについて説明します。
| SQL Server メモリ マネージャー カウンタ | 説明 |
|---|---|
| 接続メモリ (KB) | サーバーが接続を維持するために使用している動的メモリの合計量を指定します。 |
| データベース キャッシュ メモリ (KB) | サーバーがデータベース ページ キャッシュに現在使用しているメモリの量を指定します。 |
| 空きメモリ (KB) | サーバーで現在使用されていないコミット済みメモリの量を指定します。 |
| 付与されたワークスペース メモリ (KB) | ハッシュ、並べ替え、一括コピー、インデックス作成操作など、実行中のプロセスに現在付与されているメモリの合計量を指定します。 |
| ロック ブロック | サーバーで現在使用されているロック ブロックの数を指定します (定期的に更新されます)。 ロック ブロックは、テーブル、ページ、行など、ロックされた個々のリソースを表します。 |
| 割り当てられたロック ブロック | 割り当てられたロック ブロックの現在の数を指定します。 サーバーの起動時に、割り当てられたロック ブロックの数と割り当てられたロック所有者ブロックの数は、SQL Server ロック 構成オプションによって異なります。 さらにロック ブロックが必要な場合は、値が大きくなります。 |
| ロックされたメモリ (KB) | サーバーがロックに使用している動的メモリの合計量を指定します。 |
| 所有者ブロックのロック | サーバーで現在使用されているロック所有者ブロックの数を指定します (定期的に更新されます)。 ロック所有者ブロックは、個々のスレッドによるオブジェクトのロックの所有権を表します。 したがって、3 つのスレッドがそれぞれ 1 つのページで共有 (S) ロックを持っている場合、3 つのロック所有者ブロックが存在します。 |
| 割り当てられたロック所有者ブロック | 割り当てられたロック所有者ブロックの現在の数を指定します。 サーバーの起動時に、割り当てられたロック所有者ブロックの数と割り当てられたロック ブロックの数は、SQL Server ロック 構成オプションによって異なります。 さらにロック所有者ブロックが必要な場合、値は動的に増加します。 |
| 最大ワークスペース メモリ (KB) | ハッシュ、並べ替え、一括コピー、インデックス作成操作など、プロセスの実行に使用できるメモリの最大量を示します。 |
| メモリ割り当て未完了 | ワークスペース メモリ許可を正常に取得したプロセスの合計数を指定します。 |
| メモリ許可の保留中 | ワークスペース メモリの許可を待機しているプロセスの合計数を指定します。 |
| オプティマイザー メモリ (KB) | サーバーがクエリの最適化に使用している動的メモリの合計量を指定します。 |
| 予約サーバー メモリ (KB) | サーバーが将来の使用のために予約したメモリの量を示します。 このカウンターは、付与された ワークスペース メモリ (KB) に表示される、最初に許可された現在の未使用のメモリ量を示します。 |
| SQL キャッシュ メモリ (KB) | サーバーが動的 SQL キャッシュに使用している動的メモリの合計量を指定します。 |
| 盗まれたサーバー メモリ (KB) | サーバーがデータベース ページ以外の目的で使用するメモリの量を指定します。 |
| ターゲット サーバー メモリ (KB) | サーバーが使用できるメモリの理想的な量を示します。 |
| サーバー メモリの合計 (KB) | サーバーがメモリ マネージャーを使用してコミットしたメモリの量を指定します。 |
こちらもご覧ください
リソースの利用状況の監視 (システム モニター)
SQL Server、バッファー マネージャー オブジェクト
sys.dm_os_performance_counters (Transact-SQL)