Введение в программирование SQL Server. Создание и управление базой данных. Инструменты целостности данных, страница 13

*  После удаления базы данных, все пользователи, имевшие эту базу как базу данных по умолчанию, не будут иметь базы данных по умолчанию.

Резервируйте базу данных master после удаления баз данных.

Следующие ограничения относятся к удалению баз данных. Вы не можете удалить:

*  Базу данных, которая в процессе восстановления;

*  Базу данных, которая открыта для чтения или записи любым пользователем;

*  Базу данных, которая опубликовала любую свою таблицу как часть репликации SQL Server

*  Системную базу данных

3.3 Введение в структуру данных

Эта секция описывает структуру данных и как SQL Server хранит данные.

Как хранятся данные

Во время создания базы данных, очень важно понимать, как SQL Server хранит данные, чтобы вы могли посчитать и указать количество дискового пространства для размещения базы данных. Рассматривайте следующий факты и рекомендации о хранилище данных:

*  Все базы данных имею основной файл данных, определяемый именем файла с расширением .mdf, и один или более файлов журнала определяемый именем файла с расширением .ldf. База данных может также иметь вторичные файлы данных, которые определяются по имени файла с расширением .ndf. Эти физические файлы имеют двойное именование – имя ОС и имя, которые вы можете использовать в операторах Transact-SQL.

*  Когда вы создаёте базу данных, в неё копируется содержимое базы данных model, которая включает системные таблицы. Минимальный размер базы данных должен быть равен или больше размера базы данных model.

*  Сервер SQL хранит, читает и записывает данные блоками по 8кб, эти блоки называются страницами. Это означает, что база данных может хранить 128 страниц на мегабайт.

*  Максимальное количество данных в одной строке зависит от требуемых расходов – 8060 байт.

*  Все страницы хранятся в пространстве. Пространство – это 8 последовательных страниц, или 64кб. Поэтому база данных имеет 16 пространств в мегабайте.

*  Журнал транзакций захватывает всю необходимую информацию для восстановления базы данных в момент системной ошибки.

Типы страниц и пространств

Страницы и пространства это основа структуры данных физической базы данных SQL Server.

Сервер SQL использует различные типы страниц, некоторые следят за выделенным пространством, а некоторые содержат пользовательские данные и индексы. Страницы, которые отслеживают выделенное пространство, содержат плотно сжатую информацию. Это позволяет SQL Server эффективно помещать их в память для лёгкого просмотра.

Сервер SQL использует два типа пространств:

*  Пространства, которые хранят страницы от двух и более объектов, называемые смешанными. Каждая таблицы начинается как смешанное пространство. Вы используете смешанное пространство главным образом для страниц, которые хранят пространство и содержат маленькие объекты.

*  Пространства, которые имеют все 8 страниц выделенных одному объекту, называемый однородным пространством. Они используются, когда таблице или индексу надо более 64 кб пространства.

Страницы, которые управляют файловым пространством

Первое пространство для каждого файла является смешанным и содержит страницы заголовка файла, следующие по три выделенные страницы. Сервер выделяет эти смешанные пространства, когда вы создаёте основной файл данных и использует эти страницы для соих внутренних задач.

Страница заголовка файла – содержит атрибуты файла, такие как имя базы данных, которая хранится в файле, файловая группа, минимальный размер, размер приращения. Это первая страница в каждом файле (Страница 0).

Страница свободного пространства (PFS) – это выделенная страница, содержащая информацию о свободном пространстве доступном в файле. Эта информация хранится в странице 1.

Каждая такая страница может простираться на 8000 смежных страниц, что приблизительно 64мб данных.

3.4 Рекомендуемая практика

Следующая рекомендуемая практика поможет вам создавать и управлять базами данных:

*  Резервируйте базу данных master непосредственно после создания и модификации базы данных. Это важно, потому что эта база данных является системным каталогом.