Шаг 37 - Журнал транзакций

Любые изменения, которые производятся в базах данных SQL Server, записываются в журнал транзакций. Каждая база данных имеет свой собственный журнал транзакций. Изменения заносятся в таблицу syslogs журнала транзакций всякий раз. Когда происходит изменение страницы базы данных (при выполнении команд INSERT, UPDATE, DELETE). Изменения данных всегда фиксируются в журнале транзакций перед тем, как они фактически будут занесены в базу данных(этот тип журнала называется write-ahead log), что позволяет описать транзакцию и выяснить успешно ли она завершилась, а так же посмотреть с помощью запроса информацию об изменении данных. Страничные данные не записываются на диск до тех пор, пока не произойдет автоматическая проверка успешного завершения транзакции. Страницы журнала записываются на диск после завершения транзакции. До этого страницы журнала находятся в кэш-памяти.

Очень рекомендуется размещать журнал транзакций на отдельном устройстве баз данных. Это важно по следующим причинам:

Размеры журнала транзакций варьируются в зависимости от объема модифицируемых данных и частоты создания архивных копий. Как правило выделяют от 10 до 25% места, зарезервированного для данных.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 18.02.2003