Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SQL2008_Administration.doc
Скачиваний:
91
Добавлен:
08.11.2018
Размер:
3.38 Mб
Скачать

5.1.4 Расписание резервного копирования

Корпорация Microsoft считает идеальным вариантом следующее расписание резервного копирования:

  • раз в неделю — полное резервное копирование;

  • раз в сутки (каждую ночь) — разностное резервное копирование;

  • несколько раз в день — резервное копирование журналов транзакций.

Этот вариант наилучшим образом подходит для больших баз данных (десятки и сотни Гбайт), которые активно изменяются.

В любом случае резервное копирование лучше производить тогда, когда нагрузка на сервер минимальна (обычно ночью).

Рекомендуется всегда вместе с резервным копированием пользовательских баз данных производить резервное копирование баз данных Master и Msdb.

5.2 Проведение резервного копирования

5.2.1 Средства для выполнения резервного копирования

Для выполнения резервного копирования можно воспользоваться:

  • скриптом Transact-SQL с командой Backup, который запускается по расписанию в автоматическом режиме (при помощи задания SQL Server Agent);

  • графическим интерфейсом Management Studio. При помощи него очень удобно автоматически сгенерировать скрипт Transact-SQL. Для этой цели можно настроить на экране резервного копирования нужные параметры и нажать на кнопку Script в верхней части экрана;

  • планом обслуживания базы данных (Maintenance Plan). При помощи плана обслуживания вы сможете не только создать задание на резервное копирование базы данных, но и сразу запланировать его для выполнения по расписанию, настроить генерацию отчета о резервном копировании.

  • утилитой командной строки sqlmaint. Эта утилита оставлена для целей обеспечения обратной совместимости, но, тем не менее, она остается самым простым способом провести резервное копирование баз данных SQL Server по расписанию с одновременным созданием отчета;

5.2.2 Параметры резервного копирования

Для выполнения резервного копирования можно воспользоваться:

  1. графическим интерфейсом Management Studio

  • из контекстного меню для соответствующей базы данных выбрать команду Tasks Back Up.

  • контекстным меню для контейнера Server Objects  Backup Devices.

  1. командой BACKUP.

Параметры резервной копии, задаваемые через графический интерфейс и командой BACKUP

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

  • Database - имя базы данных, резервное копирование которой мы будем производить. В команде BACKUP указывается как BACKUP DATABASE имя_базы данных;

  • Recovery model - справочная информация о текущем режиме восстановления БД. Изменить режим восстановления можно только из свойств базы данных

  • Backup type (Full, Differential, Transaction Log) - тип резервного копирования. Для полного или разностного резервного копирования используется команда BACKUP DATABASE (для разностного еще указывается параметр WITH DIFFERENTIAL), для резервного копирования журнала транзакций — команда BACKUP LOG. Обратите внимание, что в скрипте вы можете также указать параметр WITH COPY_ONLY, который определяет копирующий режим. На графическом экране выбрать его вы не сможете;

  • Backup component - выбор резервного копирования всей базы данных или отдельных файловых групп (отдельных файлов). В команде BACKUP для указания файлов или файловых групп используются ключевые слова FILE и FILEGROUP

  • Backup set name - имя резервной копии (backup set — набор носителей, которые относятся к одной резервной копии). В команде BACKUP указывается при помощи параметра NAME. Получить информацию об имени резервной копии можно при помощи кнопки Contents на том же экране или при помощи команды RESTORE HEADERONLY

  • Description — описание резервной копии. Указывается при помощи параметра DESCRIPTION, просмотреть можно так же, как и имя;

  • Backup set will expire — срок (или дата), после которой резервная копия будет считаться устаревшей и перезаписываться SQL Server автоматически. Значение 0 означает, что копия никогда не будет считаться устаревшей. В команде BACKUP для указания срока/времени устаревания используются параметры RETAINDAYS и EXPIREDATE.

  • Destination — место назначения резервной копии в виде временного или постоянного устройства резервного копирования. Можно указать несколько назначений одновременно (но только одного типа). В этом случае запись резервной копии будет производиться параллельно на несколько устройств резервного копирования. Конечно, при восстановлении данных вам понадобятся все части резервной копии, созданной таким образом. В команде BACKUP для указания файла на диске используется ключевое слово TO DISK, для указания стриммера — TO TAPE. При использовании команды BACKUP при помощи ключевого слова MIRROR TO можно указать файл, стриммер или логическое устройство, на котором будет создаваться второй экземпляр резервной копии (полностью идентичный первому).

  • Overwrite media эти параметры (на графическом экране они расположены на вкладке Options) позволяют определить режим перезаписи носителя (файла на диске или магнитной ленты). В вашем распоряжении — следующие варианты

    • Append to the existing media set (соответствует параметрам NOFORMAT  — не перезаписывать заголовок носителя и NOINIT — не перезаписывать старую резервную копию);

    • Overwrite all existing backup sets (соответствует параметрам NOFORMAT и INIT — заголовок носителя сохранится, но все старые резервные копии будут перезаписаны);

    • Check media set name and backup set expiration (соответствует параметрам NOFORMAT, INIT, NOSKIP — перезапись будет произведена только в том случае, если имя резервной копии совпадает с существующей на носителе, но существующая резервная копия устарела);

    • Backup to a new media set, and erase all existing backup sets (соответствует параметрам FORMAT, INIT, SKIP — вне зависимости от заголовков и времени устаревания существующей резервной копии носитель (лента или файл) будут полностью перезаписаны, включая их заголовок);

    • При использовании команды BACKUP у вас есть еще одна возможность контролировать перезапись: определить пароль для резервной копии при помощи параметра MEDIAPASSWORD.

  • Verify backup then finished — проверить целостность резервной копии после завершения резервного копирования. Проверяется размер, структура заголовка и соответствие контрольной сумме (если она была записана). Никакой параметр команды BACKUP этому параметру не соответствует. Вместо этого после окончания резервного копирования будет выполнена команда RESTORE VERIFYONLY;

  • Perform checksum before writing to media — при установке этого параметра SQL Server будет, во-первых, проверять, контрольную сумму (или контрольный бит) для каждой страницы базы данных, а, во-вторых, записывать свои контрольные суммы для резервной копии. Этому параметру соответствует ключевое слово CHECKSUM в команде BACKUP;

  • Continue on error — продолжать или нет резервное копирование, если при проверке контрольных сумм в базе данных были обнаружены ошибки. Соответствует параметру CONTINUE_AFTER_ERROR. По умолчанию используется STOP_AFTER_ERROR — при обнаружении подобных ошибок резервное копирование останавливается;

  • Truncate the transaction log — переключатель устанавливается в это значение по умолчанию, если вы производите резервное копирование журнала транзакций. Он означает "очистить журнал транзакций после резервного копирования". Поскольку этот режим используется то умолчанию, то в команде BACKUP LOG ему ничего не соответствует;

  • Back up the tail of the log, and leave the database in the restring state — этому значению переключателя соответствуют параметры NOTRUNCATE и NORECOVERY в команде BACKUP LOG. Они означают: произвести резервное копирование журнала без его очистки и перевести базу данных в состояние RESTORING (при этом она станет недоступной для пользователей). Такой режим используется только в ситуации, когда для ваших серверов настроена автоматическая передача журналов транзакций (log shipping) и вы хотите поменять ролями главный и резервный сервер;

  • В команде BACKUP LOG вам доступны еще несколько важных параметров, которых нет на графическом экране:

    • STANDBY — используется вместо NORECOVERY в той же ситуации. Отличается тем, что база данных для пользователей будет открыта, но в режиме STANDBY (то есть она будет доступна только на чтение);

    • NO_LOG/TRUNCATE_ONLY (эти ключевые слова являются синонимами) — возможность очистить журнал транзакций без проведения резервного копирования. Обычно используется тогда, когда место в журнале транзакций внезапно кончилось, и вам нужно как можно быстрее обеспечить пользователям возможность нормальной работы

  • Unload the tape after backup — соответствует параметру UNLOAD команды BACKUP. При использовании этого параметра картридж автоматически извлекается из стриммера по окончании резервного копирования. Этот параметр устанавливается по умолчанию при использовании стриммера. Запретить автоматическое извлечение можно при помощи параметра NOUNLOAD;

  • Rewind the tape before unloading — соответствует параметру REWIND и устанавливается по умолчанию. Перед извлечением картридж будет перемотан на начало. Запретить перемотку можно при помощи параметра NOREWIND. В SQL Server 2008 появилась новая команда, которая позволяет просто перемотать ленту в картридже на начало, не выполняя других операций: RESTORE REWINDONLY.

Параметры резервной копии, задаваемые только командой BACKUP

  • BLOCKSIZE — возможность указать оптимальный размер блока для стриммера. Параметр необязательный и влияет только на производительность (в некоторых ситуациях);

  • STATS — через сколько процентов от общего объема резервного копирования будут выдаваться информационные сообщения. По умолчанию — через каждые 10 процентов;

  • COPY_ONLY — возможность выбрать копирующий тип резервного копирования;

  • RESTART — в предыдущих версиях SQL Server этот параметр позволял продолжить приостановленную операцию резервного копирования (например, после вставки нового картриджа, когда на старом закончилось место). В SQL Server 2008 игнорируется;

  • READ_WRITE_FILEGROUPS — возможность провести резервное копирование только файловых групп, доступных для записи (открытые только на чтение будут игнорироваться).

Примеры команды BACKUP.

  1. Полное резервное копирование базы данных Db1 на диск: BACKUP DATABASE db1 TO DISK = 'D:\SQLBackups\BackupFile1.bak'

  2. Разностное резервное копирование той же базы данных: BACKUP DATABASE db1 TO DISK = 'D:\SQLBackups\BackupFile1.bak' WITH DIFFERENTIAL

  3. Команда на проведение резервного копирования журнала транзакций: BACKUP LOG db1 TO DISK = 'D:\SQLBackups\BackupFile1.bak'

Ограничения, которые налагаются на БД

При выполнении резервного копирования:

  • нельзя создавать новые файлы базы данных и удалять старые;

  • нельзя уменьшать размер существующих файлов;

  • нельзя производить резервное копирование базы данных, которая находится в автономном режиме (offline).

  • рекомендуется производить резервное копирование баз данных только в то время, когда нагрузка на сервер со стороны пользователей минимальна.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]