Aracılığıyla paylaş


sys.allocation_units (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL veritabanı

Veritabanındaki her ayırma birimi için bir satır içerir.

Sütun adı Veri türü Description
allocation_unit_id bigint Ayırma biriminin kimliği. Bir veritabanında benzersizdir.
type tinyint Ayırma biriminin türü:

0 = Bırakılan

1 = Satır içi veriler (LOB veri türleri dışında tüm veri türleri)

2 = Büyük nesne (LOB) verileri (metin, ntext, görüntü, xml, büyük değer türleri ve CLR kullanıcı tanımlı türler)

3 = Satır taşması verileri
type_desc nvarchar(60) Ayırma birimi türünün açıklaması:

DÜŞTÜ

IN_ROW_DATA

LOB_DATA

ROW_OVERFLOW_DATA
container_id bigint Ayırma birimiyle ilişkili depolama kapsayıcısının kimliği.

Satır deposu dizininde = 1 veya 3 türü container_id = sys.partitions.hobt_id.

Columnstore dizininde = 1 veya 3 türündeyse, container_id = sys.column_store_row_groups.delta_store_hobt_id.

Tür 2 ise, container_id = sys.partitions.partition_id.

0 = Ertelenmiş bırakma için işaretlenen ayırma birimi
data_space_id int Bu ayırma biriminin bulunduğu dosya grubunun kimliği.
total_pages bigint Bu ayırma birimi tarafından ayrılan veya ayrılan toplam sayfa sayısı.
used_pages bigint Gerçekte kullanılan toplam sayfa sayısı.
data_pages bigint Kullanılan sayfaların sayısı:

Sıralı veriler

LOB verileri

Sıra taşma veri



Döndürülen değerin iç dizin sayfalarını ve ayırma yönetimi sayfalarını dışladığını unutmayın.

Note

Büyük dizinleri bıraktığınızda veya yeniden derlediğinizde, büyük tabloları bıraktığınızda veya büyük tabloları veya bölümleri kırptığınızda, Veritabanı Altyapısı işlem işlemeden sonraya kadar gerçek sayfa ayırmalarını ve ilişkili kilitlerini geçersiz kılabilir. Ertelenmiş bırakma işlemleri ayrılan alanı hemen serbest bırakmaz. Bu nedenle, büyük bir nesneyi bıraktıktan veya kesildikten hemen sonra sys.allocation_units tarafından döndürülen değerler kullanılabilir gerçek disk alanını yansıtmayabilir.

Hızlandırılmış Veritabanı Kurtarma etkinleştirildiğinde, nesne boyutu ne olursa olsun ertelenen bırakma kullanılır.

Permissions

"" genel "" rolüne üyelik gerektirir. Daha fazla bilgi için bkz. meta veri görünürlüğü yapılandırması .

Examples

Ayırma biriminin nesnesi ve türü tarafından kullanılan alanı belirleme

Aşağıdaki sorgu, ayırma birimi türüne göre veritabanındaki tüm kullanıcı tablolarını ve her birinde kullanılan alan miktarını döndürür.

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;

Ayrıca Bkz.

sys.partitions (Transact-SQL)
nesne kataloğu görünümlerini (Transact-SQL)
Katalog Görünümleri (Transact-SQL)