Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекции / Л-3 - Архитектура MS SQL Server

.pdf
Скачиваний:
17
Добавлен:
28.06.2021
Размер:
867.12 Кб
Скачать

Имя и идентификатор базы данных

К базе данных можно обратиться по ее логическому имени.

При обращении к некоторым функциям используется

идентификатор базы данных – целочисленное значе-

ние, присваиваемое системой в момент создания БД.

Существуют функции, позволяющие по имени базы данных находить ее идентификатор (функция DB_ID( ) )

и наоборот: по идентификатору – имя базы данных

(функция DB_NAME( ) ).

Системные базы данных (1)

master – наиболее важная системная БД. Хранит метаданные, относящиеся к экземпляру сервера, его конфигурацию, сведения обо всех базах данных экземпляра и установочную информацию;

model – шаблон для новых БД. Любая новая БД сначала создается как копия model. Если нужно, чтобы некоторые объекты появлялись во всех новых БД, или какие-то свойства были настроены определенным образом в новых БД, следует создать такие объекты и настроить свойства в БД model. Изменения, внесенные в БД model, не отразятся на существующих БД;

Системные базы данных (2)

tempdb – хранит временные данные (временные таблицы, область сортировки, сведения для контроля версий строк). Уничтожается и создается как копия model при каждом запуске экземпляра. Если нужны объекты для тестирования, которые не должны оставаться в БД, то их создают в tempdb. Они автоматически удаляются при следующем запуске сервера;

msdb – хранит данные службы SQL Server Agent, отвечающей за автоматизацию (задания, расписания, оповещения) и репликацию. Хранит данные, касающиеся других средств (Database Mail и Service Broker);

Системные базы данных (3)

resource – скрытая системная БД, хранящая системные хранимые процедуры, представления, функции, доступные из любой пользовательской и системной БД. Не отображается в списке, напрямую к ней обратиться невозможно. Облегчает внесение изменение при установке пакетов исправлений и обновлений.

He следует пытаться вручную вносить изменения в системные БД.

Можно выполнять их резервное копирование после изменений и в случаях сбоев системы осуществлять восстановление скопированных БД.

Схема физической структуры пользовательской базы данных

Файлы данных и файлы журнала транзакций

При создании БД можно задать для каждого файла имя, местоположение, начальный размер, максимальный размер и размер автоприращения.

В файлах данных хранятся данные объектов, а в файлах журнала транзакций содержится информация, нужная серверу для поддержки транзакций.

Файлы данных имеют страничную организацию. Размер страницы в SQL Server – 8 Кбайт (не может быть изменен).

SQL Server может записывать в несколько файлов данных параллельно, но в каждый момент времени он может писать только в один файл журнала.

Файловые группы (1)

Файлы данных объединены в логические структуры – файловые группы. Данные объектов распределены между файлами, принадлежащими файловой группе.

У БД одна файловая группа PRIMARY (основная).

Содержит основной файл данных (расширение mdf) и системный каталог БД. В эту группу можно вставить дополнительные файлы данных (расширение ndf).

Начальный размер первичного файла – не меньше 3 Мбайт.

Пользовательские файловые группы содержат только дополнительные файлы данных.

Файловые группы (2)

Можно пометить файловую группу как группу по умолчанию. Если в операторе создания объекта явно не задана файловая группа, объект создается в файловой группе по умолчанию.

Расширение mdf – сокращение от MasterDataFile (основной файл данных). При выборе расширения для дополнительных файлов данных кто-то из разработчиков, шутя, предложил использовать ndf, как сокращение от NotMasterDataFile (неосновной файл данных), и предложение было принято.

Файлы журнала транзакций

Расширение ldf – сокращение от LogDataFile (файл журнала).

Журнал транзакций также может быть представлен несколькими файлами, однако это не повысит производительность. Новый файл журнала добавляют, если заполнен диск, на котором хранится файл.

Файлы журнала транзакций не могут объединяться в файловые группы.

Размер файла журнала транзакций не может быть задан менее 512 Кбайт.

Количественные ограничения

В одном экземпляре сервера баз данных может существовать не более 32767 баз данных.

Каждая база данных может содержать не более 32767 файлов для хранения данных.

Каждая база данных может содержать не более 32767 файловых групп.