MS SQL – архивирование базы данных и лога транзакций

Привожу рабочие примеры скриптов по архивированию базы данных и лога транзакций.

Примечание: база находится в режиме Recovery modelFull, название базы wb5.

1) Архивирование базы с перезаписью старого архива:

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

2) Архивирование лога транзакций базы:

В этом примере, архивируется лог транзакций, при этом  предыдущий архив wb5_log.trn не удаляется.

Если база находится в режиме Simple, то лог транзакций не ведется, поэтому и архивировать его не нужно. В таком случае, архивируется только база данных. При больших базах данных, где происходят постоянные изменения, желательно работать в режиме Full. Тогда архив самой базы можно выполнять раз в сутки, а лог транзакций архивировать, к примеру, раз в 10мин.

Для создания плана архивирования, можно воспользоваться графической частью SQL Server Management Studio. Для этого достаточно создать необходимый план обслуживания, предварительно перейдя в Управление – Планы обслуживания.

Восстановление базы данных из архива базы и лога транзакций.

Для того, чтобы восстановить базу данных из архива, вместе с логом транзакций, можно воспользоваться графической частью из SQL Server Management Studio. Восстановление будет происходить в два этапа, в начале выбираем для восстановления архив базы, и восстанавливаем, потом выбираем архив лога транзакций, и восстанавливаем лог. При желании, эти два этапа можно объединить, выбрав пункт восстановить Файлы и файловые группы.

Cстановимся на базу, и  в выпадающем меню выбираем Задачи – Восстановить – База данных (рис.1)

Восстановление базы_1

 

Источник для восстановления, выбрать –  С устройства. Здесь необходимо на первом этапе выбрать – архив базы, а на втором этапе – архив лога транзакций.  Далее необходимо перейти в раздел Параметры, и выбрать Параметры восстановления –  Перезаписать существующую базу данных, если путь к базе не менялся, то в разделе Восстановить файлы базы данных как: , оставляем без изменений. В разделе Состояние восстановления  – Оставить базу в неработающем состоянии. (рис.2)

Восстановление базы_2

 

После первого этапа восстановления база перейдет в режим Restoring. Если вдруг передумали восстанавливать логи, то базу можно перевести в рабочее состояния. Для этого необходимо выполнить следующий скрипт:

Теперь необходимо восстановить журнал транзакций.

Теперь необходимо восстановить журнал транзакций. В выпадающем списке, выбираем Восстановить – Журнал транзакций (рис. 3).

Восстановление базы_3
Далее, выбираем файл с архивом логов транзакций, и отмечаем, какие архивы хотим восстановить (рис.4).

Восстановление базы_4

(Пока оценок нет)
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x