Nesneleri tarafından kullanılan alanı yönetme

Dizin ayırma Haritası (IAM) sayfa 4 gigabayt (gb) bir parçası olarak kapsamlarını eşler bir veritabanı dosyası bir ayırma birimi tarafından kullanılır.Ayırma birimi üç türden biridir:

  • IN_ROW_DATA

    Bir yığın veya dizin bölümü tutar.

  • LOB_DATA

    Holds büyük nesne (lob) veri türleri gibi xml, varbinary(max), ve varchar(max).

  • ROW_OVERFLOW_DATA

    Değişken uzunlukta veri depolanan tutan varchar, nvarchar, varbinary, veya sql_variant sütunlar, geçen 8,060 bayt satır boyutu sınırı.

Her bölüm bir yığın veya dizin en az IN_ROW_DATA ayırma birimi içerir.Ayrıca bir lob_data veya row_overflow_data ayırma birimi yığın veya dizin şema bağlı içerebilir.Ayırma birimleri hakkında daha fazla bilgi için bkz: Tablo ve dizin organizasyon.

IAM sayfa 4 gb dosyasında bir aralık içinde bir Kapaklar ve gam veya sgam sayfası olarak aynı tedarik edilir.Birden fazla dosya veya bir dosyanın birden fazla 4 gb aralık kapsamlarını ayırma birimi içeriyorsa, bağlantılı bir IAM zincirinde çok sayıda IAM sayfa olacaktır.Bu nedenle, her ayırma birimi kapsamlarını taşıdığından her dosya için en az bir IAM sayfa vardır.Da olabilir birden fazla IAM sayfa bir dosyayı, dosya uzantısına aralık tahsis, ayırma birimi tek bir IAM sayfa kaydedebilirsiniz aralık aşıyor.

Kapsamları yöneten Index Allocation Map (IAM) sayfaları

IAM sayfaları ayrılmış olarak her ayırma birimi için gerekli ve rasgele dosyasında bulunur.Sistem görünümü, sys.system_internals_allocation_units, ayırma birimi için ilk IAM sayfa işaret eder.Tüm IAM sayfaları, ayırma birimi bir zincir bağlanır.

Önemli notÖnemli

The sys.system_internals_allocation_units system view is for internal use only and is subject to change.Uyumluluk sağlanır.

Ayırma birimi başına zincir halinde bağlanan IAM sayfaları

IAM sayfa başlangıç kapsamını gösteren bir üstbilgisi vardır aralık , IAM sayfa tarafından eşlenen kapsamlarını.IAM sayfa içinde her bit gösteren bir ölçüde büyük bir bit eşlem de vardır.İlk kapsamına ilk bit Haritası'nda temsil aralık, ikinci bit ikinci testin vb. temsil eder.Bir bit, 0 ise kapsam onu gösteren IAM sorumlu ayırma birimi ayrılmamış.Bit 1 ise, temsil ettiği ölçüde IAM sorumlu ayırma birimi için ayrılan sayfa.

Zaman SQL Server Veritabanı Altyapısı Yeni bir satır eklemek vardır ve geçerli sayfada kullanılabilir yer yok, IAM ve pfs sayfaları ayırmak için bir sayfayı bulmak için kullanır ya da, bir yığın veya bir metin/resim sayfası için satır tutmak için yeterli boş alan içeren bir sayfaThe Veritabanı Altyapısı uses the IAM pages to find the extents allocated to the allocation unit.Her kapsam için Veritabanı Altyapısı pfs arar sayfas olup olmadığını görmek için bir sayfa kullanılabilecek.Her IAM ve pfs sayfa kapsayan çok sayıda veri sayfabirkaç IAM ve pfs olduklarından s sayfabir veritabanında s.Bu IAM ve pfs sayfaları genellikle bellekte anlamına SQL Server Arabellek havuzu, böylece kolayca aranabilir.Dizinler için yeni satır ekleme noktasını dizin anahtar tarafından küme.Bu durum, arama işlemi daha önce açıklanan oluşmaz.

The Veritabanı Altyapısı allocates a new extent to an allocation unit only when it cannot quickly find a page in an existing extent with sufficient space to hold the row being inserted.The Veritabanı Altyapısı allocates extents from those available in the filegroup using a proportional allocation algorithm.Bir dosya grubu iki dosya varsa ve bir iki kez boş alan olarak diğer iki sayfa diğer dosyadan tahsis edilen her bir sayfa için kullanılabilir alanı içeren dosyadan ayrılır.Bu, her bir dosya grubu dosyasında kullanılan alanı benzer bir yüzdesi olmalıdır anlamına gelir.