Страници и Extents

Основната единица за съхранение на данни в SQL Server е една страница. Дисковото пространство разрешено за поставянето на файла с данни (MDF- или НУГ-файл) в базата данни е логически разделена на страници с непрекъснат трансфер от 0 до п. входни и изходни Disk операции се извършват на ниво страница. По-конкретно, SQL Server чете и записва цели страници с данни.

Обхват - е колекция от осем физически съседни страници; те се използват, за да могат ефективно да управляват страниците. Всички страници се съхраняват в степен.

В SQL Server, размерът на страницата е на 8 KB. Това означава, че в един мегабайт на база данни SQL Server съдържа 128 страници. Всяка страница започва с 96-байт глава, която се използва за съхранение на данни на системата на страницата. Тези данни включват номера на страницата, типа на страницата, на размера на свободното място на страница и разпределение обект единица ID на страницата.

Следващата таблица показва какви видове страници, използвани в базата данни на файлове с данни SQL сървър.

Регистрационните файлове не съдържат страници, те съдържат поредица от журналните записи.

редове от данни, записани на последователно страница, веднага след заглавието. Таблица редове компенсирани започва в края на страницата; Всяка таблица компенсира редове съдържа един запис за всяка линия на страницата. Всеки запис записва колко далеч от началото на страницата е първият байт на низа. Записи в редовете на таблицата са изместени в обратен ред на последователността на линии на страницата.

Подкрепа за големи струни

Line не могат да се разделят на страницата на части, но част от линията може да бъде преместен на друга страница, че линията е наистина много голям. Максималният размер на данни и код услуга, съдържащи се в един ред на страницата е 8060 байта (8K). Все пак, това не включва данните, съхранявани в типа страница "текст / изображение." Това ограничение не е толкова строг за маси, съдържащи графи, отнасящи се до вида VARCHAR данни. nvarchar. VARBINARY или sql_variant. Когато общият размер на всички фиксирани редове и колони в таблица на променливите надхвърля лимита от 8060 байта, SQL Server динамично се движи едно или повече променлива дължина колона на страница разпределение ROW_OVERFLOW_DATA единица, като се започне от колоната с най-голямата ширина. Това действие се извършва винаги, в резултат на вложки или актуализира общия размер на низа е извън границите на 8060 байта. Когато се движи колона на страница ROW_OVERFLOW_DATA разпределение единица, 24 байт показалеца на оригиналната в IN_ROW_DATA разпределение единица се съхранява. Ако последващата експлоатация се извършва намаления размер на реда, SQL Server динамично движи колоните на данни обратно към оригиналната страница. За повече информация, вижте. В секцията надвишава размера на линията на данни на страницата, повече от 8 KB.

Extents са основна единица на организация на пространството. Една степен се състои от осем последователни страници или 64 KB. Това означава, че в един мегабайт на база данни SQL Server съдържа 16 степен.

За да направи разпределение пространство ефективно, SQL Server не поставя цялото протежение маси с малки обеми от данни. SQL Server има два вида степен.

Хомогенна степен принадлежат към един и същ обект; всички осем страници в клъстера могат да се използват само тези, притежаващи обект.

Смесени степен могат да бъдат в общо ползване на не повече от осем обекти. Всеки от осемте страници в степента, могат да бъдат собственост на различни обекти.

Нова таблица или индекс - тази страница обикновено се изолира от смесени степен. Чрез увеличаване на размера на таблицата или индекса осем страници на масата или индекса са преминаването към единни степен за последващи дистрибуторски звена. Когато създадете индекс за съществуваща таблица, която съдържа достатъчно линии за генериране на осем страници в индекса, всички единици за разпространение на индекса са в еднакви степен.