sys.dm_os_memory_cache_clock_hands (Transact-SQL)
特定のキャッシュ クロックに関する各ハンドの状態を返します。
列名 |
データ型 |
説明 |
---|---|---|
cache_address |
varbinary(8) |
クロックに関連付けられたキャッシュのアドレス。 NULL 値は許可されません。 |
name |
nvarchar(256) |
キャッシュの名前。 NULL 値は許可されません。 |
型 |
nvarchar(60) |
キャッシュ保存の種類。 同じ種類のキャッシュが複数存在することが可能です。 NULL 値は許可されません。 |
clock_hand |
nvarchar(60) |
ハンドの種類。 次のいずれかになります。
NULL 値は許可されません。 |
clock_status |
nvarchar(60) |
クロックの状態。 次のいずれかになります。
NULL 値は許可されません。 |
rounds_count |
bigint |
エントリを削除するため、キャッシュ経由で行われたスイープの数。 NULL 値は許可されません。 |
removed_all_rounds_count |
bigint |
すべてのスイープで削除されたエントリの数。 NULL 値は許可されません。 |
updated_last_round_count |
bigint |
前回のスイープ中に更新されたエントリの数。 NULL 値は許可されません。 |
removed_last_round_count |
bigint |
前回のスイープ中に削除されたエントリの数。 NULL 値は許可されません。 |
last_tick_time |
bigint |
クロック ハンドが前回移動した時間 (ミリ秒単位)。 NULL 値は許可されません。 |
round_start_time |
bigint |
前回のスイープの時間 (ミリ秒単位)。 NULL 値は許可されません。 |
last_round_start_time |
bigint |
前回のラウンドの完了でクロックに使用された合計時間 (ミリ秒単位)。 NULL 値は許可されません。 |
権限
サーバーに対する VIEW SERVER STATE 権限が必要です。
説明
SQL Server では、メモリ キャッシュと呼ばれる構造のメモリに情報が格納されます。 キャッシュには、データ、インデックス エントリ、コンパイル済みプロシージャ プランなど、SQL Server に関するさまざまな種類の情報が格納されます。 再作成の回数を最小限に抑えるため、これらの情報は可能な限り長くメモリ キャッシュに保持されます。これらの情報がキャッシュから削除されるのは、古くなりすぎて使えなくなった場合や、新しい情報を格納するためのメモリ領域が必要になった場合です。 この古くなった情報を削除する処理をメモリ スイープといいます。 メモリ スイープは頻繁に行われる処理ですが、連続的ではありません。 メモリ キャッシュのスイープはクロック アルゴリズムによって制御され、 1 つのクロックで複数のメモリ スイープを制御できます。この単位をハンドといいます。 メモリ キャッシュのクロック ハンドは、メモリ スイープの 1 つのハンドの現在位置を示します。