Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПО АИС.doc
Скачиваний:
4
Добавлен:
10.11.2019
Размер:
637.95 Кб
Скачать

6.7.2.Логическая структура бд

Содержит объекты, доступные пользователям, подключенным к БД:

Таблица – совокупность столбцов и строк, где строка – характеристика одного объекта, столбец – множество этих характеристик.

Представление – физической памяти не требует.

Индекс – структура, связанная с таблицей и представлением, для повышения производительности выполнения операции поиска. Могут быть кластерными (для одной таблицы) или не кластерными. Кластерный объект упорядочивает записи одной таблицы на основе ключа.

Ключ – для идентификации записей в таблице или для связи между таблицами.

Пользовательские данные – данные, задающиеся пользователем. Включают системный тип, имя и формат.

Хранимые процедуры – объект, исполняющийся и хранимый на сервере. Объект – набор операторов Transact SQL

Ограничения – правила определения допустимых значений столбцов таблицы.

Триггеры – срабатывают автоматически, для поддержания ссылочной целостности.

Пользовательские функции – программа, состоящая из одной или нескольких файлов. Разрабатывается пользователем и хранится на клиентской или серверной стороне. Могут быть использованы вместо хранимых процедур или триггеров для инсталляции программного кода.

6.8.Структура журнала транзакций

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

Файл журнала транзакций имеет: ID, начальный размер, приращения (если задача в %) и максимальный размер.

Каждый журнал транзакций содержит страницу с последними записями транзакцию каждая запись содержит порядковый номер LSN, который отражает конкретную транзакцию, физический журнал транзакций состоит из нескольких виртуальных журналов транзакций VLF. Один логический журнал может содержать несколько виртуальных файлов. VLF используется для реализации операторов приращения файлов транзакций. VLF – отдельный физический файл со своими собственными виртуальными данными (администратор задавать размер их не может).

Оптимальной производительности СУБД не рекомендуется большое число виртуальных файлов.

6.8.1.Принцип работы

Основной рабочий элемент журнала транзакций – КЭШ ОП. Он хранит структуру и страницы данных с диска, с которого работает транзакция. Страница, данные которой изменяют текущую транзакцию, называется затронутой страницей.

Поскольку SQL Server работает в режиме, утверждающий записи, то копия затронутой страницы размещается в КЭШе до момента, когда ее данные не будут зафиксированы в БД. Запись затронутой страницы на диск – сброс страницы.

Сброс страницы происходит в результате процесса контрольной точки – поток ОС либо отложение записи просмотра затронутой страницы и записи их на диск, освобождая КЭШ.

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

Если в процессе просмотра затронутой страницы обнаруживается страница с незавершенной транзакцией, выполняется операция отката транзакции.

6.8.2.Процесс контрольной точки

Контрольная точка позволяет уменьшить простой в случае сбоя работы сервера, т.к. количество страниц, не зафиксированных на диске, будет минимальным.

Процесс контрольной точки выполняется в случае:

  • Checkpoint;

  • Alterdatabase – изменение размера БД;

  • При корректном завершении работы SQL Server;

  • Автоматическое выполнение процесса к точке (от количества записей).

Процесс контрольной точки записывает наименьший LSN, который необходим для корректного отката незавершенных транзакций. Этот номер – принадлежит самой ранней активной транзакции. После этого SQL Server начинает процесс восстановления: проверка журнала транзакции на наличие завершений, данные которых не были зафиксированы. Если находит незавершенные транзакции – они удаляются.

Записи с номерами меньше LSN не являются активными и не просматриваются. Для повторного использования дискового пространства записи об этих транзакциях удаляются.

Транзакции могут быть зафиксированы в соответствии с моделью восстановления данных.

Простая модель – процесс контрольной точки просто удаляет неактивную часть из всех виртуальных журналов (VLF).

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

Таким образом, процесс контрольной точки освобождает физическое пространство диска, которое моет быть занято локальным файлом транзакции (LSN). После того, как будет достигнут конец физического файла, запись вновь начинается сначала.