SQL Server の Access Methods オブジェクト
適用対象: SQL Server
SQL Server の Access Methods オブジェクトには、データベース内の論理データへのアクセスの状況を監視するためのカウンターがあります。 ディスク上のデータベース ページへの物理アクセスは、 Buffer Manager カウンターを使用して監視します。 データベースに格納されているデータへのアクセス方法を監視すれば、インデックスの追加や変更、パーティションの追加や移動、ファイルまたはファイル グループの追加、インデックスのデフラグ、クエリの書き直しなど、どのような措置によってクエリ パフォーマンスが向上するかを判断する際に役立ちます。 Access Methods カウンターを使用して、データベース内のデータ、インデックス、および空き領域サイズを監視し、各サーバー インスタンスのデータ量と断片化状況を確認することもできます。 インデックスが過度に断片化されると、パフォーマンスの低下につながります。
データ量、断片化、および使用状況の詳細な情報を得るには、次の動的管理ビューを使用します。
ファイル、タスク、およびセッション レベルでの tempdb
の使用領域については、次の動的管理ビューを使用します。
次の表では、SQL Server の Access Methods カウンターについて説明します。
SQL Server の Access Methods カウンター | 説明 |
---|---|
AU cleanup batches/sec | 遅延および削除済みアロケーション ユニットをクリーンアップするバックグラウンド タスクによって正常に完了した 1 秒あたりのバッチの数。 |
AU cleanups/sec | 遅延および削除済みアロケーション ユニットをクリーンアップするバックグラウンド タスクによって正常に削除された 1 秒あたりのアロケーション ユニットの数。 各アロケーション ユニットの削除には複数のバッチが必要です。 |
By-reference Lob Create Count | 参照渡しで渡されたラージ オブジェクト (LOB) 値の数。 参照渡し LOB は、値で渡すコストを省くために特定の一括操作で使用されます。 |
By-reference Lob Use Count | 使用された参照渡し LOB 値の数。 参照渡し LOB は、値で渡すコストを省くために特定の一括操作で使用されます。 |
Count Lob Readahead | 先行読み取りが行われた LOB ページの数。 |
Count Pull In Row | 行外から行内に移動した列値の数。 |
Count Push Off Row | 行内から行外に移動した列値の数。 |
Deferred Dropped Aus | 遅延および削除済みアロケーション ユニットをクリーンアップするバックグラウンド タスクによって削除されるのを待っているアロケーション ユニットの数。 |
Deferred Dropped rowsets | 遅延および削除済み行セットをクリーンアップするバックグラウンド タスクによって削除されるのを待っている、オンライン インデックス作成操作の中止の結果として作成された行セットの数。 |
Dropped rowset cleanups/sec | 遅延および削除済み行セットをクリーンアップするバックグラウンド タスクによって正常に削除された、オンライン インデックス作成操作の中止の結果として作成された 1 秒あたりの行セットの数。 |
Dropped rowsets skipped/sec | 遅延および削除済み行セットをクリーンアップするバックグラウンド タスクによってスキップされた、オンライン インデックス作成操作の中止の結果として作成された 1 秒あたりの行セットの数。 |
Extent Deallocations/sec | SQL Server のこのインスタンスのすべてのデータベースで、1 秒あたりに割り当て解除されたエクステントの数。 |
Extents Allocated/sec | SQL Server のこのインスタンスのすべてのデータベースで、1 秒あたりに割り当てられたエクステントの数。 |
Failed AU cleanup batches/sec | 遅延および削除済みアロケーション ユニットをクリーンアップするバックグラウンド タスクで失敗し、再試行が必要な 1 秒あたりのバッチの数。 失敗の原因としては、メモリやディスク領域の不足、ハードウェア障害などがあります。 |
Failed leaf page cookie | リーフ ページで変更が行われたため、インデックス検索時にリーフ ページクッキーを使用できなかった回数。 クッキーはインデックス検索を高速化するために使用されます。 |
Failed tree page cookie | ツリー ページの親ページで変更が行われたため、インデックス検索時にツリー ページ クッキーを使用できなかった回数。 クッキーはインデックス検索を高速化するために使用されます。 |
Forwarded Records/sec | 転送されたレコード ポインターによって 1 秒あたりにフェッチされたレコードの数。 |
FreeSpace Page Fetches/sec | 空き領域スキャンによってフェッチされた 1 秒あたりのページ数。 このスキャンでは、レコード フラグメントの挿入要求または変更要求を達成するために、アロケーション ユニットに既に割り当てられているページ内の空き領域が検索されます。 |
FreeSpace Scans/sec | レコード フラグメントの挿入または変更を目的として、アロケーション ユニットに既に割り当てられているページ内の空き領域を検索するために開始された 1 秒あたりのスキャンの数。 各スキャンで複数のページが見つかる場合があります。 |
Full Scans/sec | 1 秒あたりの制限されていないフル スキャンの数。 ベース テーブル スキャンまたはフル インデックス スキャンのどちらかです。 |
Index Searches/sec | 1 秒あたりのインデックス検索の数。 範囲スキャンの開始、範囲スキャンの再位置決め、スキャン ポイントの再検証、1 つのインデックス レコードのフェッチ、新しい行の挿入場所を探すためのインデックスの検索に使用されます。 |
InSysXact waits/sec | InSysXact ビットが設定されているためにリーダーがページを待機する必要がある回数。 |
LobHandle Create Count | 作成された一時 LOB の数。 |
LobHandle Destroy Count | 破棄された一時 LOB の数。 |
LobSS Provider Create Count | 作成された LOB ストレージ サービス プロバイダー (LobSSP) の数。 LobSSP ごとに 1 つの作業テーブルが作成されます。 |
LobSS Provider Destroy Count | 破棄された LobSSP の数。 |
LobSS Provider Truncation Count | 切り捨てられた LobSSP の数。 |
Mixed page allocations/sec | 混合エクステントから 1 秒あたりに割り当てられたページ数。 IAM ページと、アロケーション ユニットに割り当てられた最初の 8 ページの保存に使用できます。 |
Page compression attempts/sec | ページ レベルの圧縮に対して評価されたページの数。 サイズを大幅に節約できるため、圧縮されなかったページも含まれます。 SQL Serve のインスタンス内のすべてのオブジェクトを含みます。 特定のオブジェクトの詳細については、「sys.dm_db_index_operational_stats (Transact-SQL)」を参照してください。 |
Page Deallocations/sec | SQL Server のこのインスタンスのすべてのデータベースで、1 秒あたりに割り当て解除されたページの数。 混合エクステントと単一エクステントからのページが含まれます。 |
Page Splits/sec | インデックス ページがオーバーフローしたために生じた 1 秒あたりのページ分割の数。 |
Pages Allocated/sec | SQL Server のこのインスタンスのすべてのデータベースで、1 秒あたりに割り当てられたページの数。 混合エクステントと単一エクステントの両方からのページ アロケーションが含まれます。 |
Pages compressed/sec | ページの圧縮を使用して圧縮されるデータ ページの数。 SQL Serve のインスタンス内のすべてのオブジェクトを含みます。 特定のオブジェクトの詳細については、「sys.dm_db_index_operational_stats (Transact-SQL)」を参照してください。 |
Probe Scans/sec | インデックスまたはベース テーブル内の 1 つの限定された行を直接検索するときに使用される 1 秒あたりのプローブ スキャンの数。 |
Range Scans/sec | 1 秒あたりにインデックスでスキャン範囲が限定されたスキャンの数。 |
Scan Point Revalidations/sec | スキャン ポイントがスキャンを続行するために再検証された 1 秒あたりの回数。 |
Skipped Ghosted Records/sec | スキャン中にスキップされた 1 秒あたりの非実体レコードの数。 |
Table Lock Escalations/sec | テーブルでロックが TABLE 粒度または HoBT 粒度にエスカレートされた回数。 |
Used leaf page cookie | リーフ ページで変更が行われなかったため、インデックス検索時にリーフ ページ クッキーが正常に使用された回数。 クッキーはインデックス検索を高速化するために使用されます。 |
Used tree page cookie | ツリー ページの親ページで変更が行われなかったため、インデックス検索時にツリー ページ クッキーが正常に使用された回数。 クッキーはインデックス検索を高速化するために使用されます。 |
Workfiles Created/sec | 1 秒あたりに作成された作業ファイルの数。 たとえば、作業ファイルを使用して、ハッシュ結合やハッシュ集計の一時結果を保存できます。 |
Worktables Created/sec | 1 秒あたりに作成された作業テーブルの数。 たとえば、作業テーブルを使用して、クエリ スプール、LOB 変数、XML 変数、およびカーソルの一時的な結果を保存できます。 |
Worktables From Cache Base | 内部使用のみ。 |
Worktables From Cache Ratio | 作成された作業テーブルのうち、作業テーブルの最初の 2 ページが割り当てられなかったが、作業テーブル キャッシュから直ちに使用できるようになった作業テーブルの割合。 (作業テーブルが削除されると、2 つのページが割り当てられたままになり、作業テーブル キャッシュに返される可能性があります。これにより、パフォーマンスが向上します)。 |
例
sys.dm_os_performance_counters の動的管理ビューで次の T-SQL クエリを使用して、このオブジェクトのクエリ パフォーマンス カウンターの確認を開始します。
SELECT * FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%Access Methods%';