Opis stron i zakresów

Podstawową jednostką przechowywania danych w SQL Server jest strona.The disk space allocated to a data file (.mdf or .ndf) in a database is logically divided into pages numbered contiguously from 0 to n.poziom strona, wykonywane są operacje We/Wy dysku.Oznacza to, że SQL Server odczytuje lub zapisuje dane całej strony.

Zakresy są kolekcja osiem stron ciągłych fizycznie i są używane do wydajnego zarządzania stron.Wszystkie strony są przechowywane w zakresach.

Strony

W SQL Server, rozmiar strona jest 8 KB.Oznacza to, że SQL Server baz danych mają 128 stron na megabajt.Każda strona zaczyna się nagłówek 96 bajt, który jest używany do przechowywania informacji o stronie.Informacje te obejmują numer strona, typ strona, ilość wolnego miejsca strona, a identyfikator jednostka alokacji obiektu, który jest właścicielem strona.

Tabela poniżej zawiera strona typów używanych w plikach danych z SQL Server bazy danych.

Typ strony

Spis treści

Dane

Data rows with all data, except text, ntext, image, nvarchar(max), varchar(max), varbinary(max), and xml data, when text in row is zestaw to ON.

Indeks

Pozycje indeksu.

Tekst i obraz

Typy danych dużego obiektu:

  • text, ntext, image, nvarchar(max), varchar(max), varbinary(max), and xml data

Kolumny o zmiennej długości, gdy wiersz danych przekracza 8 KB:

  • varchar, nvarchar, varbinary, and sql_variant

Globalne Tablica alokacji, udostępnione globalnego mapy alokacji

Informacja, czy są przydzielane zakresy.

Strony wolnego miejsca

Informacje o strona alokacji i ilości wolnego miejsca na stronas.

Mapa alokacji indeksu

Informacje dotyczące zakresów używane przez tabela lub indeksu na jednostka alokacji.

Zmienione mapy luzem

Informacje dotyczące zakresów zmodyfikowane przez operacje zbiorcze ostatniej kopii zapasowej dziennika instrukcja na jednostka alokacji.

Różnicowa zmienione mapy

Informacje dotyczące zakresów, które uległy zmianie od ostatniej kopii zapasowej bazy danych instrukcja na jednostkę alokacji.

Ostrzeżenie

Pliki dziennika nie zawierają stron; zawierają one serii rekordów dziennika.

Wiersze danych są umieszczane strona seryjnie, uruchamianie natychmiast po nagłówku.tabela Wiersz przesunięcia zaczyna się od końca strona, a każdy wiersz tabela przesunięcia zawiera jeden zapis dla każdego wiersza strona.Każdy wpis rekordy, jak daleko jest pierwszy bajt wiersza od początku strona.Wpisy w tabela Wiersz przesunięcia są w odwrotnej kolejności z sekwencji wierszy strona.

Strona danych programu SQL Server z przesunięciami wierszy

Obsługa dużych wiersza

Wiersze nie mogą obejmować strona, jednak części wiersz mogą zostać przeniesione poza strona wiersza tak, aby wiersz rzeczywiście mogą być bardzo duże.Maksymalna ilość danych i narzutów zawarte w pojedynczym wierszu strona jest 8,060 bajtów (8 KB).Jednakże nie obejmuje to dane przechowywane w typu tekst i obraz strona.Ograniczenie to jest złagodzone dla tabel zawierających varchar, nvarchar, varbinary, lub sql_variant kolumny.Gdy rozmiar wiersza sumy wszystkich kolumn stałe i zmienne w tabela przekroczy ograniczenie 8,060 bajt SQL Server dynamicznie Przenosi jeden lub więcej kolumn o zmiennej długości do stron w ROW_OVERFLOW_DATA jednostka alokacji, począwszy od kolumna o szerokości największej.Można to zrobić przy każdej operacji insert lub update zwiększa całkowity rozmiar wiersza powyżej limitu 8060 bajtów.Gdy kolumna zostanie przeniesiony do strona w ROW_OVERFLOW_DATA jednostka alokacji, 24-bajtowy wskaźnik na oryginalnej stronie w IN_ROW_DATA jednostka alokacji jest zachowywane.Jeśli kolejnych operacji zmniejsza rozmiar wiersza SQL Server dynamicznie przenosi kolumn do oryginalnej strona danych.Aby uzyskać więcej informacji, zobacz Przepełnienie wiersz danych powyżej 8 KB.

Zakresy

Zakresy są podstawową jednostką, w której obszar jest zarządzany.fragment jest osiem stron fizycznie ciągłych lub 64 KB.Oznacza to, że SQL Server bazy danych ma 16 zakresów na megabajt.

To make its space allocation efficient, SQL Server does not allocate whole extents to tables with small amounts of data.SQL Server has two types of extents:

  • Jednolite zakresy są własnością pojedynczy obiekt; wszystkie osiem stron w fragment mogą być używane tylko przez obiekt-właściciel.

  • Mieszane zakresy są współużytkowane przez maksymalnie osiem obiektów.Każdy z ośmiu stron w fragment może być własnością innego obiektu.

Nowa tabela lub indeks ogólnie rezerwowany jest stron mieszanych zakresów.Gdy punkt ma osiem stron powiększy się tabela lub indeksu, następnie przełączenie używać jednolitego zakresy dla kolejnych alokacji.Jeśli utworzysz indeks w istniejącej tabela, która ma wystarczająco dużo wierszy, aby wygenerować osiem stron w indeksie wszystkich przydziałów do indeksu są jednolite zakresów.

Zakresy mieszane i jednorodne