179
нии всех файлов. Затем файлы увеличиваются в размерах по кольцевому списку. Эта функ-
ция особенно полезна в случаях, когда SQL Server используется в качестве базы данных,
внедренной в приложение, где пользователь не имеет удобного доступа к системному адми-
нистратору. По мере необходимости пользователь может предоставить файлам возможность
увеличиваться в размерах автоматически, тем самым
снимая с администратора часть забот
по наблюдению за свободным пространством базы данных и по распределению дополни-
тельного пространства вручную.
Из объектов баз данных и файлов можно формировать
файловые группы, используе-
мые для решения задач распределения и административного управления. Файлы журналов
не могут входить в состав файловых групп. Управление пространством журнала отделено от
управления пространством данных. Файл не может входить в состав нескольких файловых
групп. Таблицы, индексы и данные больших объектов могут быть ассоциированы с указан-
ной файловой группой. В
этом случае все их страницы будут размещены внутри файловой
группы; либо таблицы и индексы могут быть секционированы. Данные секционированных
таблиц и индексов разделяются на блоки, каждый из которых может быть помещен в отдель-
ную файловую группу базы данных. В каждой базе данных одна файловая группа назначает-
ся файловой группой по умолчанию
. Если при создании таблицы или индекса файловая
группа не указывается, предполагается, что все страницы будут распределяться из файловой
группы по умолчанию. В каждый момент времени лишь одна файловая группа может быть
файловой группой по умолчанию.
Страницы и экстенты
Основной единицей хранилища данных и обмена информацией между внешней и
оперативной памятью в SQL Server является страница. Место на диске, предоставляемое
для размещения файла данных (MDF- или NDF-файл) в базе данных, логически разделяется
на страницы с непрерывным перечислением от 0 до n. Дисковые операции ввода-вывода вы-
полняются на уровне страницы. А именно, SQL Server считывает или записывает целые
страницы данных. В SQL Server размер страницы составляет 8 КБ. Это значит, что в одном
мегабайте
базы данных SQL Server содержится 128 страниц. Каждая страница начинается с
96-байтового заголовка, который используется для хранения системных данных о странице.
Эти данные включают номер страницы, тип страницы, объем свободного места на странице
и идентификатор единицы распределения объекта, которому принадлежит страница. В фай-
лах данных базы данных SQL Server используется 8 типов страниц (данные с типами
данных
небольших размеров, данные с типами данных больших размеров, записи индекса, сведения
о размещении экстентов, сведения о размещении страниц и доступном на них свободном
месте и т. д.).
Для эффективного управления памятью страницы объединяются в экстенты , которые
являются основными единицами организации пространства.
Экстент — это коллекция, состоящая из восьми физически непрерывных страниц
или 64 Кб; они используются для эффективного управления страницами. Все страницы хра-