「Microsoft SQL Server」が稼働するデータベースシステムを運用する管理者に向け、「動的管理ビュー」の活用を軸にしたトラブル対策のためのノウハウを紹介していきます。今回は、テーブルパーティションの使用状況の出力について解説します。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
本連載では、「Microsoft SQL Server(以下、SQL Server)」で使用可能な動的管理ビューについて、動作概要や出力内容などを紹介していきます。今回は動的管理ビュー「sys.dm_db_partition_stats」におけるテーブルパーティションの使用状況の出力について解説します。対応バージョンは、SQL Server 2008以降です。
SQL Serverでは、テーブルやインデックスをパーティション分割し、1つのテーブルやインデックスを複数のファイルグループに分散できます。パーティション分割を適切に構成することで、メンテナンス時間の短縮やパフォーマンスの向上などにつながる可能性があります。
パーティション分割の機能は、SQL Server 2016 RTMまではEnterprise Editionのみで使用できる機能でしたが、SQL Server 2016 SP1以降は、Standard Editionでも使用できるようになりました。
「sys.dm_db_partition_stats」動的管理ビューを使用することで、パーティション分割されたテーブルやインデックスについて、パーティションごとのデータ行数やページ数などの使用状況を確認できます。
列名 | データ型 | 説明 |
---|---|---|
partition_id | bigint | パーティションID sys.partitionsカタログビューのpartition_idと同値 |
object_id | int | パーティションが属するテーブルまたはインデックス付きビューのオブジェクトID |
index_id | int | パーティションが属するヒープまたはインデックスのID 0 = ヒープ 1 = クラスタ化インデックス >1 = 非クラスタ化インデックス |
partition_number | int | インデックスまたはヒープ内の、1から始まるパーティション番号 |
in_row_data_page_count | bigint | パーティションで行内データの格納に使用されているページ数 インデックスのB-Treeの非リーフページは含まれない。IAMページは含まれない |
in_row_used_page_count | bigint | パーティションで行内データの格納、管理に使用されているページの合計数 B-Tree の非リーフ ページ、IAM ページを含む |
in_row_reserved_page_count | bigint | パーティションで行内データの格納、管理に予約されているページの合計数 |
lob_used_page_count | bigint | LOBの格納、管理に使用されているページ数 text、ntext、image、varchar(max)、nvarchar(max)、varbinary(max)、xml型の格納と管理で使用する IAMページを含む 列ストアインデックスの場合、格納と管理に使用されているLOBの合計数 |
lob_reserved_page_count | bigint | LOBの格納、管理に予約されたページの合計数 列ストアインデックスの場合、格納と管理に予約されているLOBの合計数 |
row_overflow_used_page_count | bigint | 行オーバーフローの格納、管理に使用されているページ数 varchar、nvarchar、varbinary、sql_variant型の格納と管理で使用する IAMページを含む |
row_overflow_reserved_page_count | bigint | 行オーバーフローの格納、管理に予約されているページ数 |
used_page_count | bigint | パーティションで使用されているページの合計数 in_row_used_page_count + lob_used_page_count + row_overflow_used_page_countとして計算される |
reserved_page_count | bigint | パーティションで予約されているページの合計数 in_row_reserved_page_count +lob_reserved_page_count + row_overflow_reserved_page_countとして計算される |
row_count | bigint | パーティション内の行数の概算値 |
Copyright © ITmedia, Inc. All Rights Reserved.