Udostępnij za pośrednictwem


Zarządzanie obszar używany przez obiekty

strona indeksu tablicy alokacji (IAM) mapuje zakresy części 4 gigabajtów (GB) używanych przez plik bazy danych jednostka alokacji.Jednostka alokacji jest jednym z trzech typów:

  • IN_ROW_DATA

    Przechowuje partycji sterty lub indeks.

  • LOB_DATA

    Przechowuje takie jak typy danych dużych obiektów (LOB), xml, varbinary(max), a varchar(max).

  • ROW_OVERFLOW_DATA

    Przechowuje dane o zmiennej długości, przechowywane w varchar, nvarchar, varbinary, lub sql_variant kolumny, które przekraczają limit rozmiaru wierszy 8,060 bajtów.

Każda partycja sterty lub indeks zawiera co najmniej taką IN_ROW_DATA jednostka alokacji.Może również zawierać LOB_DATA lub ROW_OVERFLOW_DATA jednostka alokacji, w zależności od schematu sterty lub indeks.Aby uzyskać więcej informacji na temat jednostek alokacji zobacz Organizacja indeksu i tabela.

strona IAM obejmuje zakres 4 GB w pliku i jest ten sam zakres jako GAM lub SGAM strona.Jeśli jednostka alokacji zawiera zakresy z pliku więcej niż jeden lub więcej niż jeden zakres 4 GB w pliku, będzie połączony w łańcuchu IAM wielu stron IAM.Dlatego każdy jednostka alokacji ma co najmniej jedną strona IAM dla każdego pliku, na którym ma zakresów.Może istnieć więcej niż jedną strona IAM w odniesieniu do pliku zakresu zakresów przypisanych do jednostka alokacji pliku przekracza zakres, które mogą być rejestrowane w pojedynczej strona IAM.

Index Allocation Map (IAM) pages managing extents

Są przydzielane IAM stron, które wymagane dla każdej jednostce alokacji i znajdują się w pliku losowo.Wyświetlanie systemu sys.system_internals_allocation_units, wskazuje na pierwszej stronie IAM dla jednostka alokacji.Wszystkie strony IAM tej jednostka alokacji są połączone w łańcuchu.

Important noteImportant Note:

The sys.system_internals_allocation_units system view is for internal use only and is subject to change.Zgodność nie jest gwarantowane.

IAM pages linked in a chain per allocation unit

strona IAM ma nagłówek, który wskazuje początkowy fragment fragment mapowany przez strona IAM zakresów.strona IAM ma również duże mapy bitowej, w której każdy bit reprezentuje jeden fragment.Pierwszy bit na mapie reprezentuje pierwszego fragment w zakresie, drugi bit reprezentuje fragment drugiego i tak dalej.Jeśli bit ma wartość 0, fragment on reprezentuje nie odbywa się z właścicielem IAM jednostka alokacji.Jeśli bit ma wartość 1, w zakresie reprezentowanego przez nią odbywa się z właścicielem strona IAM jednostka alokacji.

Gdy SQL Server Database Engine posiada wstawić nowy wiersz i miejsca nie jest dostępna na bieżącej stronie, zastosowano stron IAM i doskonałego utajnienia przekazywania, aby znaleźć strona, aby przydzielić, lub, dla stosu lub strona tekstu/obrazu strona z wystarczającą ilością miejsca do przechowania w wierszu. The Database Engine uses the IAM pages to find the extents allocated to the jednostka alokacji. Dla każdego fragment Database Engine przeszukuje stron doskonałego utajnienia przekazywania, aby sprawdzić, czy jest strona, które mogą być używane. Każda Strona IAM oraz doskonałe utajnienie przekazywania obejmuje wielu stron danych, istnieje kilka IAM i doskonałe utajnienie przekazywania strony w bazie danych.Oznacza to, że strony IAM i doskonałe utajnienie przekazywania są zazwyczaj w pamięci w SQL Server pula buforów, dzięki czemu mogą one być wyszukiwane szybko. Dla indeksów punkt wstawiania nowego wiersza jest ustawiana przez indeks klucz.W takim wypadku nie występuje proces wyszukiwania zostało wcześniej opisane.

The Database Engine allocates a new fragment to an jednostka alokacji only when it cannot quickly find a strona in an existing fragment with sufficient space to hold the row being inserted. The Database Engine allocates extents from those available in the grupa plików using a proportional allocation algorithm. Jeśli jeden ma dwa razy wolne miejsce w drugim grupa plików znajdują się dwa pliki, dwie strona będą przydzielane z pliku z dostępnego miejsca na każdej stronie jeden z innego pliku.Oznacza to, że każdy plik w grupa plików powinny mieć podobne procent miejsca.