sys.allocation_units (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

データベース内の各割り当て単位の行が含まれます。

列名 データ型 説明
allocation_unit_id bigint 割り当て単位の ID。 データベース内で一意です。
tinyint 割り当て単位の種類:

0 = ドロップ

1 = 行内データ (LOB データ型を除くすべてのデータ型)

2 = ラージ オブジェクト (LOB) データ (textntextimagexml、large value types、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



返される値は、内部インデックス ページと割り当て管理ページを除外します。

注意

大きなインデックスの削除または再構築、大きなテーブルの削除、または大きなテーブルまたはパーティションの切り捨てを行うと、データベース エンジンは、トランザクションのコミット後まで、実際のページの割り当て解除とそれに関連付けられているロックを延期します。 遅延された削除操作では、割り当てられた領域は直ちに解放されません。 このため、ラージ オブジェクトを削除するか切り捨てた直後に sys.allocation_units を実行して返された値は、実際に使用できるディスク領域を反映していないことがあります。

高速データベース復旧が有効になっている場合、遅延ドロップはオブジェクト サイズに関係なく使用されます。

アクセス許可

ロール 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)