Обзор встроенных в СУБД средств отслеживания изменений БД
Для некоторых операций, например, CREATE INDEX, Microsoft SQL Server не ведет журналирование для каждой новой страницы. Вместо этого Microsoft SQL Server записывает достаточно информации, чтобы определить, как CREATE INDEX отработал, и принять решение фиксации изменения или осуществления отката. Журнал транзакций является кольцевым файлом, поскольку записи в начале журнала транзакций очищаются… Читать ещё >
Обзор встроенных в СУБД средств отслеживания изменений БД (реферат, курсовая, диплом, контрольная)
При реализации подсистемы аудита можно воспользоваться стандартными средствами, встроенными в СУБД. Начиная с версии Microsoft SQL Server 2008, существует несколько таких решений. Их можно комбинировать и использовать для одной и той же базы данных. Использование встроенных средств аудита имеет ряд преимуществ по сравнению с разработкой специальных триггеров и таблиц аудита:
- — уменьшение времени на реализацию системы аудита;
- — отсутствует необходимость в изменении структуры базы данных;
- — имеются встроенные средства очистки данных;
- — уменьшение влияния на производительность системы.
Журнал транзакций
Журнал транзакций является специальным файлом, который необходим любой базе данных для ее надлежащего функционирования. В нем содержатся записи, создаваемые в процессе ведения журнала, и он используется для повторного чтения этих записей во время восстановления. Так же, как пространство, занятое собственно записями журнала, транзакция в журнале транзакций также резервирует пространство для любых потенциальных записей журнала, которые потребовались бы в случае необходимости отменить транзакцию и выполнить откат.
При создании новой базы данных журнал транзакций пуст. По мере возникновения транзакций записи журнала последовательно записываются в журнал транзакций, и из этого следует, что создание нескольких файлов журнала транзакций не даст никакого выигрыша в производительности. Журнал транзакций будет использовать все файлы журнала по очереди.
Физическая архитектура журнала транзакций содержит части, которые называются виртуальными файлами журналов. Это вспомогательные средства для облегчения внутреннего управления журналом транзакций. Физически записи журнала хранятся в одном или нескольких LDF_файлах, которые и образуют журнал транзакций.
Основной целью файла LDF является обеспечение концепции ACID (атомарность, согласованность, изолированность, долговечность).
Атомарность (Atomicity) гарантирует, что никакая транзакция не будет зафиксирована в системе частично, а будут выполнены все ее подоперации или не будет выполнено ни одной.
Согласованность (Consistency) означает, что система находится в согласованном состоянии перед началом транзакции и должна оставаться в нем после завершения транзакции.
Изолированность (Isolation) предполагает, что во время выполнения транзакции другие процессы не должны видеть данные в промежуточном состоянии. Параллельные транзакции приводят базу данных в состояние, как будто транзакции совершались последовательно, одна за другой.
Долговечность (Durability) означает, что, если пользователь получил подтверждение о выполнении транзакции от системы, он может быть уверен в том, что сделанные им изменения не будут отменены из_за какого_либо сбоя.
Журнал транзакций является кольцевым файлом, поскольку записи в начале журнала транзакций очищаются. Когда процедура ведения журнала достигает конца журнала транзакций, она снова возвращается в начало и начинает писать поверх того, что было там ранее.
Microsoft SQL Server не выполняет протоколирование в случаях, когда могут возникнуть проблемы с недостатком дискового пространства при обнаружении быстрого увеличения журнала транзакций.
Для некоторых операций, например, CREATE INDEX, Microsoft SQL Server не ведет журналирование для каждой новой страницы. Вместо этого Microsoft SQL Server записывает достаточно информации, чтобы определить, как CREATE INDEX отработал, и принять решение фиксации изменения или осуществления отката.