Udostępnij za pośrednictwem


Zarządzanie zajmowane przez obiekty

Mapa alokacji indeksu (IAM) strona mapuje zakresów w 4 gigabajtów (GB) część plik bazy danych używana przez jednostka alokacji.Jednostka alokacji jest jednym z trzech typów:

  • IN_ROW_DATA

    Przechowuje partycji sterty lub indeksu.

  • LOB_DATA

    Ładowni dużych obiektów takich jak typy danych (LOB), xml, varbinary(max), i 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 wiersza bajt 8,060.

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

Na stronie IAM obejmuje zakres 4 GB w pliku i jest takie samo pokrycie jako strona GAM lub SGAM.Jeśli jednostka alokacji zawiera zakresy z więcej niż jednego pliku lub więcej niż jeden zakres 4 GB pliku, będzie wiele stron IAM połączone w łańcuchu IAM.Dlatego każdy jednostka alokacji ma co najmniej jedną strona IAM dla każdego pliku ma zakresów.Można również więcej niż jedną strona IAM w pliku, jeśli zakres zakresy przydzielone jednostka alokacji pliku przekracza zakres, który można rejestrować pojedynczą strona IAM.

Strony mapy alokacji indeksu (IAM, Index Allocation Map) zarządzające zakresami

IAM stron są przydzielane w wymaganych dla każdej jednostka alokacji i są losowo umieszczonych w pliku.Widok systemu sys.system_internals_allocation_units, punkty do pierwszej strona IAM dla jednostka alokacji.Wszystkie strony IAM tej jednostka alokacji są połączone w łańcuchu.

Ważna informacjaWażne:

Sys.system_internals_allocation_units systemu widok jest tylko do użytku wewnętrznego i może ulec zmianie.Zgodność nie jest gwarantowane.

Strony IAM połączone w łańcuch na jednostkę alokacji

strona IAM ma nagłówek, który wskazuje początkowy fragment fragment z fragmentów mapowane przez strona IAM.Strona IAM ma również duże mapy bitowe, w której każdy bit reprezentuje jeden fragment.Pierwszy bit w mapie reprezentuje pierwszego stopnia w fragment, drugi bit reprezentuje fragment drugiego itd.Jeśli bit jest 0, reprezentuje fragment nie jest przydzielone do jednostka alokacji, posiadającego IAM.Jeśli bit jest 1, fragment reprezentuje zaalokowano jednostka alokacji właścicielem strona IAM.

Gdy Aparat baz danych programu SQL Server ma wstawić nowy wiersz i miejsca nie jest dostępna na bieżącej stronie, aby znaleźć strona przydzielić, używa stron IAM i doskonałe utajnienie przekazywania lub, dla stosu lub strona tekstu i obrazu strona z wystarczającą ilością miejsca do przechowywania wierszy. Aparat baz danych Używa stron IAM znaleźć zakresy przydzielone do jednostka alokacji.Dla każdego fragment Aparat baz danych przeszukuje strony doskonałego utajnienia przekazywania, czy jest strona, który może być używany.Każda strona IAM i doskonałe utajnienie przekazywania obejmuje wielu stron danych, więc kilka IAM i doskonałe utajnienie przekazywania stron w bazie danych.Oznacza to IAM i doskonałe utajnienie przekazywania stron są zazwyczaj w pamięci w SQL Server pula buforów, dzięki czemu mogą być wyszukiwane szybko.Dla indeksów, punkt wstawiania nowego wiersza jest zestaw przez indeks klucz.W takim przypadek proces wyszukiwania opisany wcześniej nie występuje.

Aparat baz danych Przydziela fragment nowej jednostka alokacji, tylko wtedy, gdy nie można szybko znaleźć strona w istniejącym zakresie wystarczającej ilości miejsca do przechowywania wstawiany wiersz. Aparat baz danych Przydziela zakresów dostępne w grupa plików przy użyciu algorytmu alokacji proporcjonalne.Jeśli grupa plików ma dwa pliki i jeden ma dwa razy wolne miejsce w drugiej, dwie strona zostaną przydzielone 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.