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

 

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

Каждая запись имеет свой порядковый номер в журнале (Log Sequence Number, LSN).

 

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

 

SQL Server логически делит каждый физический файл журнала транзакций на несколько виртуальных файлов журнала (Virtual Log Files, VLF).

 

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

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

 

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

 

Администратор БД не может задавать число и размер виртуальных файлов журнала.

Для более эффективной работы SQL Server старается поддерживать небольшое количество виртуальных файлов журнала.

 

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

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

 

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

Его размер зависит от выбранной модели восстановления.