sys.allocation_units (Transact-SQL)
適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance
データベース内の各割り当て単位の行を格納します。
列名 | データ型 | 説明 |
---|---|---|
allocation_unit_id | bigint | 割り当て単位の ID。 データベース内で一意です。 |
type | tinyint | 割り当て単位の種類: 0 = ドロップ 1 = 行内データ (LOB データ型を除くすべてのデータ型) 2 = ラージ オブジェクト (LOB) データ (text、 ntext、 image、 xml、大きな値の型、CLR ユーザー定義型) 3 = 行オーバーフロー データ |
type_desc | nvarchar(60) | アロケーション ユニットの種類の説明。 削除 IN_ROW_DATA LOB_DATA ROW_OVERFLOW_DATA |
container_id | bigint | 割り当てユニットに関連付けられているストレージ コンテナーの ID。 行ストア インデックスの型が 1 または 3 の場合、container_id = sys.partitions.hobt_id。 列ストア インデックスの型が 1 または 3 の場合、container_id = sys.column_store_row_groups.delta_store_hobt_id。 type = 2 の場合、container_id = sys.partitions.partition_id になります。 0 = 遅延ドロップとしてマークされたアロケーション ユニット |
data_space_id | int | この割り当てユニットが存在するファイル グループの ID。 |
total_pages | bigint | この割り当て単位によって割り当てられたページまたは予約済みページの合計数。 |
used_pages | bigint | 実際に使用されている合計ページ数。 |
data_pages | bigint | 次の機能を持つ使用済みページの数: In-row data LOB データ Row-overflow data 返される値は、内部インデックス ページと割り当て管理ページを除外します。 |
Note
大きなインデックスを削除または再構築したり、大きなテーブルを削除したり、大きなテーブルやパーティションを切り捨てたりすると、データベース エンジンは、トランザクションのコミット後まで、実際のページの割り当て解除と関連するロックを延期します。 遅延された削除操作では、割り当てられた領域は直ちに解放されません。 このため、ラージ オブジェクトを削除するか切り捨てた直後に sys.allocation_units を実行して返された値は、実際に使用できるディスク領域を反映していないことがあります。
Accelerated Database Recovery を有効にすると、オブジェクト サイズに関係なく遅延ドロップが使用されます。
アクセス許可
ロール public のメンバーシップが必要です。 詳細については、「 Metadata Visibility Configuration」を参照してください。
例
割り当て単位のオブジェクトと種類によって使用される領域を決定する
次のクエリでは、データベース内のすべてのユーザー テーブルと、それぞれで使用される領域の量が、割り当て単位の種類別に返されます。
SELECT t.object_id AS ObjectID,
OBJECT_NAME(t.object_id) AS ObjectName,
SUM(u.total_pages) * 8 AS Total_Reserved_kb,
SUM(u.used_pages) * 8 AS Used_Space_kb,
u.type_desc AS TypeDesc,
MAX(p.rows) AS RowsCount
FROM sys.allocation_units AS u
JOIN sys.partitions AS p ON u.container_id = p.hobt_id
JOIN sys.tables AS t ON p.object_id = t.object_id
GROUP BY t.object_id,
OBJECT_NAME(t.object_id),
u.type_desc
ORDER BY Used_Space_kb DESC,
ObjectName;
参照
sys.partitions (Transact-SQL)
オブジェクト カタログ ビュー (Transact-SQL)
カタログ ビュー (Transact-SQL)