Как восстановить резервное копирование. Резервное копирование данных простым языком. Почему предыдущие версии файлов могут отсутствовать

01.04.2024

Каждый пользователь компьютера наверняка знает, что ни одна система не застрахована от появления ошибок и даже критических сбоев, когда обычными средствами восстановить ее не представляется возможным. Для этого и разработаны программы для и включая утилиты, позволяющие создавать бэкап-копии жестких дисков и логических разделов. Рассмотрим наиболее популярные утилиты разного уровня сложности.

Программы и восстановления данных: целесообразность использования

Некоторые пользователи несколько неправильно себе представляют, насколько мощными являются утилиты такого типа. К сожалению, они ошибочно полагают, что самым простым вариантом станет обычное копирование пользовательских файлов в другие логические разделы, отличные от системного. Есть и еще одна категория юзеров, считающих, что можно скопировать весь системный раздел в другое место, а потом, в случае сбоя, из этой копии. Увы, ошибаются и те, и другие.

Конечно, к пользовательским файлам такая методика применима, но ведь не каждому хочется загромождать другой логический том кучей информации или постоянно держать под рукой внешний носитель вроде USB HDD, кучу дисков или флэшек, емкость которых явно ограничена. А при больших объемах данных следует учесть еще и время копирования из одного тома в другой. Программы резервного копирования и восстановления и системы, и разделов работают несколько иначе. Конечно, в большинстве случаев понадобятся съемные носители, однако созданная бэкап-копия будет занимать во много раз меньше места.

Основной принцип работы и варианты функционирования

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

Что же касается вариантов резервирования, их может быть два. В принципе, практически любая программа для резервного копирования системы предлагает использовать внешний носитель (DVD-диск, флэшку и т. д.). Связано это только с тем, что при восстановлении системы придется загружаться не из системного раздела, а именно со съемного носителя. Образ в логическом разделе распознан не будет.

Другое дело - программы резервного копирования дисков. В них можно произвести сохранение нужной информации именно в других логических разделах или, опять же, использовать съемные носители. Но что делать, если используемый объем винчестера исчисляется сотнями гигабайт? Никакой не позволит записать эту информацию даже в сжатом виде. Как вариант можно использовать внешний HDD, если он, конечно, имеется в наличии.

Что же касается выбора подходящей утилиты для сохранения пользовательских файлов, лучшее решение - программа резервного копирования файлов по расписанию. Такая утилита способна производить данную операцию без участия пользователя, сохраняя все сделанные за определенный промежуток времени изменения. В резервную копию могут добавляться новые данные, равно как и старые - удаляться из нее. И все это в автоматическом режиме! Преимущество налицо - ведь пользователю в настройках нужно только задать временной интервал между точками копирования, дальше все происходит без него.

«Родная» программа для резервного копирования Windows

Итак, для начала остановимся на собственном средстве Windows-систем. Многие считают, что встроенная в систему программа резервного копирования Windows работает, мягко говоря, не очень хорошо. В основном ее не хотят использовать только в связи с тем, что утилита затрачивает слишком много времени на создание копии, а сама копия занимает достаточно много места.

Однако и достоинств у нее хватает. Ведь кому как не специалистам Microsoft знать все тонкости и нюансы, связанные с компонентами, которые крайне необходимы для корректного восстановления Windows? И многие юзеры явно недооценивают возможности встроенного в систему средства. Ведь не зря же такая программа резервного копирования и восстановления включена в основной набор системы?

Получить доступ к этой утилите проще всего можно из стандартной "Панели управления", где выбирается раздел резервного копирования и восстановления. Здесь можно использовать три основных пункта: создание образа, создание диска и настройку копирования. Первый и второй сложностей не вызывают. Зато третий достаточно интересен. Система предложит сохранить копию на съемном носителе, предварительно определив само устройство. Но если посмотреть на параметры, можно сохранить копию и в сети, что прекрасно подойдет для «локалок». Так что в некоторых случаях такая программа для резервного копирования системы станет неплохим средством для создания бэкапа с возможностью последующего восстановления Windows именно из этой копии.

Самые популярные утилиты

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

  • Acronis True Image.
  • Norton Ghost.
  • Back2zip.
  • Comodo BackUp.
  • Backup4all.
  • ABC Backup Pro.
  • Active Backup Expert Pro.
  • ApBackUP.
  • File Backup Watcher Free.
  • The Copier.
  • Auto Backup и многие другие.

Теперь постараемся посмотреть на первую пятерку. Учтите! На данный момент рассматриваются программы резервного копирования, в основном применяемые для рабочих станций (пользовательских компьютеров). Решения для серверных систем и сетей будут рассмотрены отдельно.

Acronis True Image

Безусловно, это одна из самых мощных и популярных утилит, пользующаяся заслуженным успехом и доверием многих юзеров, хоть и относится к программам начального уровня. Тем не менее, возможностей у нее хватает.

После запуска приложения пользователь попадает в основное меню, где можно выбрать несколько вариантов действий. В данном случае нас интересует раздел создания резервной копии и восстановления (в меню есть еще дополнительные утилиты, которые сейчас по понятным причинам рассматриваться не будут). После входа активируется "Мастер", который и поможет создать бэкап. В процессе можно выбрать, копию чего именно нужно создать (система для восстановления «с нуля», файлы, настройки и т. д.). В "Типе копирования" лучше выбирать "Инкрементное", поскольку оно поможет сэкономить место. Если объем носителя достаточно велик, можно использовать полное копирование, а для создания нескольких копий - разностное. При создании копии системы будет предложено сделать загрузочный диск.

Вот что интересно: утилита показывает достаточно высокие показатели по скорости создания бэкап-копии, времени, сжатию. Так, например, на сжатие данных порядка 20 Гб понадобится в среднем 8-9 минут, а размер конечной копии составить чуть более 8 Гб.

Norton Ghost

Перед нами еще одна мощнейшая утилита. Как обычно, после старта программы запускается "Мастер", помогающий пройти все шаги.

Данная утилита примечательна тем, что с ее помощью можно создать на винчестере скрытый раздел, где будет храниться копия (причем из нее можно восстановить и данные, и систему). Кроме того, в ней можно изменять множество параметров: тип контроль считывания, тип записи, сжатие, число точек для одновременного доступа и т. д. Что же касается производительности, те же 20 Гб приложение сжимает до размера чуть более 7,5 Гб, что по времени занимает около 9 минут. В общем, результат довольно неплохой.

Back2zip

А вот программа резервного копирования по расписанию. Она отличается тем, что ее инсталляция занимает всего пару секунд, а после запуска она автоматически создает новое задание и начинает копирование данных, предполагая, что пользовательские файлы хранятся в папке «Мои документы». К сожалению, это и главный минус.

При старте задание нужно удалить, а затем выбрать исходную конечную папки. "Мастера" в привычном понимании тут нет, все выполняется из главного окна. В планировщике можно задавать интервал копирования от 20 минут до 6 часов. В целом, самое простое решение для пользователей начального уровня.

Comodo BackUp

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

Интересно, что утилита способна реагировать на изменения в файлах, входящих в состав бэкапа, в режиме реального времени. Как только исходный файл изменяется и сохраняется, приложение тут же создает его копию, добавляя и замещая конечный элемент в бэкапе. Не говоря о планировщике, отдельно можно отметить старт создания копий либо в момент старта, либо при выходе.

Backup4all

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

Эта утилита интересна тем, что позволяет сохранять копии не только на внешних или внутренних носителях, но и в сетях, или даже на FTP-серверах. Здесь имеется достаточно много редактируемых параметров и настроек, среди которых можно выделить четыре метода копирования, а также поддержку Кроме того, интерфейс очень прост, а отображение папок и заданий представлено в виде древовидной структуры по типу "Проводника". Также пользователь может разделять копируемые данные по категориям вроде документов, рисунков и т. д., присваивать каждому проекту собственный ярлык. Естественно, имеется и "Планировщик задач", в котором можно указать, например, создание копий исключительно в момент низкой нагрузки на процессор.

Решения для серверных систем

Для серверных систем и сетей также имеются специализированные программы резервного копирования. Среди всего этого многообразия можно выбелить три самых мощных:

  • Symantec Backup Exec 11d System Recovery.
  • Yosemite Backup Standard Master Server.
  • Shadow Protect Small Business Server Edition.

Как считается, такие утилиты являются хорошим инструментом резервирования применительно к малому бизнесу. При этом восстановление «с нуля» может производиться с любой рабочей станции, находящейся в сети. Но самое главное состоит в том, что резервирование нужно произвести только один раз, все последующие изменения будут сохранены автоматически. Все приложения имеют интерфейс по типу "Проводника" и поддерживают дистанционное управление с любого терминала в сети.

Вместо послесловия

Остается добавить, что здесь были рассмотрены далеко не все программы резервного копирования/восстановления данных, позволяющие создавать бэкапы и систем, и файлов, а затем восстанавливать их из созданных копий. Однако, думается, что даже краткие сведения о приведенных программах многим дадут представление о том, как это работает, и зачем все это нужно. Вопрос выбора подходящего ПО по понятным причинам мы оставляем открытым, поскольку он уже зависит от предпочтений самого юзера или системного администратора.

Посвящено немало статей, достаточно перейти в рубрику HDD. Сегодня я хотел бы подробно рассказать о процедурах, обеспечивающих безопасность Windowsв пошаговой инструкции «Как сделать резервное копирование » и «Как восстановить систему и данные » с рассмотрением примеров создания резервной копии жесткого диска, конкретной папки с файлами, а также восстановлением данных и самой системы. Для этого не требуется быть знатоком архивации данных и бэкапа . Огромное количество пользователей игнорируют резервирование, ссылаясь на длительность процедуры и отсутствия определенного для этих нужд места на диске, но так поступать не следует. Конечно, те кто хранит важные данные обязательно их архивирует, но сколько раз Вы или ваши близкие теряли архивы фотографий, любимой музыки и личных видеозаписей.

Лучшая программа для резервного копирования

Я предложу Вам надежную, быструю и простую утилиту, которая бесплатно обеспечит Вас требуемым функционалом для работы с жесткими дисками и их разделами - Paragon Домашний Эксперт 12 . Отлично подходит для всех пользователей, даже с минимальным опытом работы на ПК и легко ответит на вопрос «Как сделать бэкап системного диска и файлов? «, а также восстановит данные, если вы что-то удалили или внесли некорректные изменения.

Получить доступ к инструментам бэкапа можно из раздела главного меню «Защита и восстановление данных | Комплексное архивирование» . Перед началом резервирования ОС рекомендую создать аварийный диск, воспользовавшись тем же разделом «Защита и восстановление данных | Создание аварийного диска» .

Расширенные функции резервного копирования расположены в меню «Интеллектуальное архивирование» . Все просто! Нажимаете «Диски и разделы», выбираете системный диск, главную загрузочную запись и указываете, путь расположения резервной копии.

Теперь вы готовы запустить процедуру бэкапа. Причем процесс проходит в фоновом режиме. Простота и при восстановлении данных. Предположим, Windows перестала запускаться. Вам на помощь придет аварийный диск. Загрузитесь с него, выберите восстановление загрузочной записи, дождавшись восстановления ОС .

Как настроить бэкап на компьютере

Перейдите в раздел «Защита и восстановление данных» (на 1 скриншоте). При желании сделать резервную копию системного раздела нажмите «Интеллектуальное архивирование», затем нажмите «Далее» и выберите для архивации «Диски или разделы».

Потом отметьте галочками следующие пункты: «Локальный диск С «, «Начальный трек жесткого диска » и «Главная загрузочная запись «.


Выбрав место для хранения (сетевой диск или Локальный диск D), вы сможете настроить расписание для регулярного автоматического сохранения резервных копий , нажав опцию «Настроить расписание операции» .

После того как произведете все настройки, нажмите на кнопку «Готово» . Данным действием подтверждаете запланированную в расписании архивацию, сам процесс запустится в фоновом режиме. Задав операцию резервирования сразу, то есть нажав «Создать архив сейчас» , появится следующее окно:

Как сделать аварийный диск

Вот и завершилось создание резервной копии системы . Теперь нам нужно создать аварийный диск . Снова переходим к главному меню программы и выбираем пункт «Защита и восстановление данных l Создание аварийного диска» .

Нажмите «Далее» . В следующем окне укажите предпочитаемый загрузочный носитель. Доступны для выбора: флеш или CD/DVD. Если создание аварийного загрузочного диска производится для нетбуков, то выберите 1 вариант. Снова нажмите «Далее» .


Чтобы сделать загрузочную флешку , выберите 1 пункт - стандартный образ аварийного диска, поставляемый с программой. Нажмите «Далее» и укажите USВ-накопитель и опять «Далее» для начала процесса записи аварийного диска. Аналогичные действия и для загрузочного диска CD или DVD.

Как пользоваться загрузочной флешкой или диском

Мы записали аварийный загрузочный диск или флешку. Теперь, чтобы воспользоваться ими, например, восстановить загрузочный раздел Windows, вставьте оптический диск в привод или флешку в USB порт необходимого ПК. Загрузите компьютер, загрузив BIOS (как правило, клавиша «DEL» ) и укажите в настройках в качестве первого устройства для загрузки системы оптический привод или USВ-накопитель (CD-ROM или USB-HDD).

Сохраните настройки (найдите пункт со словами Save и Exit). Компьютер перезапустится и произойдет загрузка с флешки или оптического носителя. Теперь выберите в меню запуска программы режим «Normаl mode» (для корректной работы с мышью). Программа Домашний эксперт 12 проанализирует ПК на наличие подключенных к нему носителей информации. В результате откроется меню инструментов вашего аварийного диска. Выберите пункт «Мастер восстановления архивных копий» , дважды кликнув. Жмем «Далее» . В следующем окне кликните по кнопке, расположенной справа от поля «Выбрать файл образа» . Откроется новое окно со списком носителей на ПК. Выберите жесткий диск с архивными копиями. Нажмите «Далее» и найдите на выбранном жестком диске необходимый файл бэкапа. Снова жмите «Далее» для запуска процесса восстановления системного диска . Дождитесь окончания процесса и перезагрузите ПК, вынув аварийную флешку или диск.

Как восстановить операционную систему. Некорректная работа после восстановления

Допустим, что Windows запускается, но работает с ошибками. Вам понадобится восстановить системные файлы . Снова достаем аварийный USB диск или CD\DVD. Запускаем его в режиме «Normal Mode» . Выбираете в меню пункт «Восстановление загрузки Windows «, дважды кликнув. В появившемся
окне отметьте пункт «Поиск установленных копий Windows» и нажмите «Далее» . Выберите жесткий диск с ОС и кликните по кнопке «Далее» . Теперь подтвердите готовность к замене загрузочной записи и нажмите кнопку «Готово» , тем самым запуская процесс восстановления системных файлов.
Если Windows перестала запускаться, то для восстановления операционной системы выберите пункт «Изменить Master Boot Record (МВR — главная загрузочная запись)» . Доведите процесс до завершения и выньте аварийный диск из привода или извлеките флешку из USB порта. 3апустите ОС с жесткого диска и вы снова готовы к работе.

Восстановление данных. Восстановление операционной системы

Это небольшая инструкция по восстановлению данных и загрузочного сектора Windows. Итак, для восстановления удаленных файлов вам понадобится запустить программу Paragon Домашний эксперт 12. Если поврежден системный раздел, то вам на помощь придет аварийный диск, с которого необходимо произвести загрузку компьютера, так как программа не сможет изменять системные файлы в запущенной Windows.

Как восстановить файлы

Перейдите к главному окну утилиты и нажмите на кнопку «3ащита и восстановление данных» , затем .

В следующем появившемся окне укажите архив жесткого диска, нажмите на значок «+» , тем самым вы раскроете список каталогов.

Выберите необходимую папку или файл для восстановления и нажмите «Далее». Затем выберите путь для восстановления файлов , указав сохранить или удалить старую копию. Снова жмите «Далее» и «Готово» после восстановления данных.

Вам также будут полезны следующие материалы.

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

Любая современная СУБД должна предоставлять средства резервного копирования, позволяющие восстанавливать базу данных в случае ее разрушения. Кроме того, рекомендуется создавать резервные копии базы данных и ее файла журнала с некоторой установленной периодичностью, а также организовывать хранение созданных копий в местах, обеспеченных необходимой защитой. В случае аварийного отказа, в результате которого база данных становится непригодной для дальнейшей эксплуатации, резервная копия и зафиксированная в файле журнала оперативная информация используются для восстановления базы данных до последнего согласованного состояния.

Ведение журнала - процедура создания и обслуживания файла журнала, содержащего сведения обо всех изменениях, внесенных в базу данных с момента создания последней резервной копий, и предназначенного для обеспечения эффективного восстановления системы в случае ее отказа.

СУБД должна предоставлять средства ведения системного журнала, в котором будут фиксироваться сведения обо всех изменениях состояния базы данных и о ходе выполнения текущих транзакций, что необходимо для эффективного восстановления базы данных в случае отказа. Преимущества использования подобного журнала заключаются в том, что в случае нарушения работы или отказа СУБД базу данных можно будет восстановить до последнего известного согласованного состояния, воспользовавшись последней созданной резервной копией базы данных и оперативной информацией, содержащейся в файле журнала. Если в отказавшей системе функция ведения системного журнала не использовалась, базу данных можно будет восстановить только до того состояния, которое было зафиксировано в последней созданной резервной копии. Все изменения, внесенные в базу данных после создания последней резервной копии, будут потеряны.

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

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

Необходимость восстановления

Существует множество различных типов отказов, способных повлиять на функционирование базы данных, каждый из которых требует особых способов обработки. Одни отказы влияют только на содержимое оперативной памяти, другие могут воздействовать и на постоянную (вторичную) память системы. Ниже перечислены некоторые причины, способные вызвать отказы.

    Аварийное прекращение работы системы, вызванное ошибкой оборудования или программного обеспечения, приведшей к разрушению содержимого оперативной памяти.

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

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

    Стихийные бедствия - пожары, наводнения, землетрясения или отказы в сети электропитания.

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

    Диверсии, или преднамеренное разрушение и уничтожение данных, оборудования или программного обеспечения.

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

29.10.2012 Мишель Пуле

Резервное копирование баз данных является самым простым и дешевым средством обеспечения сохранности корпоративных данных. Не стоит доверять ложному чувству защищенности, возникающему после ввода в эксплуатацию новейшей системы высокой доступности. Если все данные виртуализованы и консолидированы, риски даже возрастают

Мишель Пуле ([email protected])-редактор журнала SQL Server Pro, соучредитель компаний Mount Vernon Data Systems и Six Sigma Uptime.

Большинство компаний, существующих на рынке достаточно давно, переживали катастрофические события, которые могли бы вывести их из игры, например сбой базы данных. Резервная копия базы данных представляет собой копию данных, структур и объектов безопасности, содержащихся в базе данных. Каждая база данных должна резервироваться по своему графику в зависимости от количества выполняемых за день транзакций записи. Для минимизации потерь при сбое базы данных необходимо выполнять резервное копирование всех баз данных, используемых на предприятии. А дабы убедиться, что резервные копии работоспособны, следует проверять их работу после операций восстановления. По меньшей мере, необходимо иметь копии баз данных, пригодные для быстрого восстановления, а сама операция восстановления должна быть отработана и не вызывать никаких трудностей.

После сотрудников и клиентов самым ценным активом компаний являются данные. В обязанности администратора баз данных входит обеспечение сохранности данных, причем такое, чтобы можно было обеспечить восстановление баз данных даже в том случае, если центр обработки данных разрушен полностью. Резервное копирование баз данных является самым простым и дешевым средством обеспечения сохранности корпоративных данных.

Не стоит доверять ложному чувству защищенности, возникающему после ввода в эксплуатацию новейшей системы высокой доступности. Если все данные виртуализованы и консолидированы, риски даже возрастают. Как проста была жизнь, когда на одном компьютере выполнялся единственный экземпляр базы данных. Теперь обычно на сервере в виртуальных машинах исполняются десятки экземпляров SQL Server, которые, в случае отказа физического сервера, откажут все одновременно. Если средства позволяют, вы можете создать отказоустойчивый кластер хостов виртуальных машин на разных физических серверах. При необходимости высокой доступности так обычно и делают. Но даже такая отказоустойчивая система может оказаться уязвимой в случае, скажем, пожара, потопа или землетрясения. Резервные копии все равно необходимы. При этом создание резервных копий доверено ограниченному кругу лиц. Более подробно о том, кто имеет право создавать резервные копии, рассказано во врезке «Кто может выполнять резервирование?».

Частота резервирования базы данных зависит от того, как долго она будет восстанавливаться из резервной копии. Чем чаще выполняется резервирование базы данных, тем меньше времени займет восстановление. График резервирования и восстановления можно настроить индивидуально для каждой базы данных. Тип резервирования зависит еще от объема базы данных и количества транзакций, выполняемых за единицу времени. Основными типами резервирования являются полное, журнальное и инкрементальное. Более подробные сведения о режимах восстановления приведены во врезке «Модели восстановления баз данных», команды по резервированию SQL Server описаны во врезке «Стандартные команды для резервирования».

Полное резервирование

Стратегия полного резервирования является самой простой для понимания и реализации. В конце каждого рабочего дня (или в любой другой промежуток времени, который вы можете назначить) просто запускается процедура полного резервирования базы данных (рисунок 1). При этом не нужно выполнять отдельное резервирование журналов и не требуется использовать дополнительные параметры. Управление файлами в таком режиме резервирования также не требует особого внимания, так как речь идет о единственном файле полной резервной копии. Восстановление из полной резервной копии тоже очень простое: необходимо просто восстановление из единственного файла. Использование полных резервных копий – хороший выбор для организаций с недостаточно опытным ИТ-персоналом.

Больше всего полное резервирование подходит для «небольших» баз данных – назовем так базы данных, резервирование которых может быть завершено за отведенное для этого время. Когда SQL Server осуществляет полное резервирование базы данных, сначала выполняется сохранение на диск всех экстентов (экстент представляет собой восемь идущих последовательно страниц, размер каждой составляет 8 Кбайт). Затем SQL Server резервирует журнал транзакций, чтобы все изменения базы данных, которые могли произойти за время резервирования, также были сохранены в файле полной резервной копии.

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

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

Для выполнения полного резервирования базы данных выполните следующий код:

BACKUP DATABASE AdventureWorks TO DISK = ‘E:\SQLdata\BACKUPS\AdventureWorks_FullDbBkup.bak’WITH INIT, NAME = ‘AdventureWorks Full Db backup’, DESCRIPTION = ‘AdventureWorks Full Database Backup

Параметр DISK определяет целевой файл резервной копии. Вы можете выполнять резервирование на диск или на ленту (в данном случае – на диск). Перед началом резервирования убедитесь, что папка для хранения резервной копии существует. В большинстве случаев резервирование на диск происходит значительно быстрее, чем на ленту, но стоимость дисковой памяти существенно выше. Для обеспечения дополнительного уровня защиты можно выполнять резервирование на диск, а затем сохранять резервную копию на ленту. Параметр WITH INIT указывает, что файл резервной копии должен быть перезаписан. Этот метод подходит в том случае, если резервирование Windows выполняется после каждого резервирования базы данных. NAME – имя резервной копии, до 128 символов. Если имя не указать, поле имени останется пустым. DESCRIPTION – более полное и подробное описание, которое может помочь, например, через длительный промежуток времени выяснить, что это за резервная копия и зачем она была создана.

Для полного восстановления базы данных выполните следующую команду:

RESTORE DATABASE AdventureWorks FROM DISK = ‘E:\SQLdata\BACKUPS\AdventureWorks_FullDbBkup.BAK’ WITH RECOVERY, REPLACE

WITH RECOVERY предписывает SQL Server отменить все незавершенные транзакции, которые могли быть в журнале транзакций, и оставить базу в рабочем состоянии. REPLACE означает перезапись любого существующего файла с тем же именем. Более подробно об этом рассказано во врезке «Замена базы данных».

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

BACKUP LOG AdventureWorks WITH TRUNCATE_ONLY

Если указана установка TRUNCATE_ONLY, то резервирование журнала в действительности не выполняется, это указание SQL Server создать контрольную точку, очистить неактивные элементы и уменьшить размер файла журнала. В последующих версиях SQL Server эта установка исключена, но вместо нее можно использовать режим простого восстановления, чтобы позволить SQL Server автоматически очистить журнал транзакций от неактивных элементов.

Полное резервирование с сохранением журнала

Если недопустима любая потеря данных при восстановлении, можно воспользоваться стратегией полного резервирования с добавлением журнала. Этот метод позволит предотвратить потерю данных; он подходит для часто обновляемых баз данных. Хотя эта стратегия увеличивает сложность операций и сопровождения, общие затраты времени на резервирование базы данных сокращаются.

На рисунке 2 приведен пример расписания для полного резервирования с сохранением журнала – еженедельное полное резервирование по воскресеньям и сохранение журнала транзакций в каждый следующий день до следующего воскресенья, когда снова будет выполнено полное резервирование. Резервирование журнала сохраняет все изменения, произведенные с момента предыдущего резервирования журнала. В рассматриваемой схеме планирования происходит сохранение ежедневных изменений.

Если не указано обратное, после завершения резервирования журнала неактивные записи в нем «удаляются» (в действительности они помечаются для перезаписи). При запуске команды BACKUP LOG вы можете добавить параметры NO_TRUNCATE или COPY_ONLY, чтобы при резервировании записи в журнале не изменялись. Но мы не рекомендуем использовать эти параметры, если только вы не знаете наверняка, для чего это может понадобиться.

SQL Server 2005 имеется режим резервирования копии заключительного фрагмента журнала (tail-log backup), то есть резервирование после краха базы данных в том случае, если журнал транзакций не был испорчен. В этом режиме осуществляется резервирование последних транзакций, выполненных с момента последнего резервирования журнала. Более подробно об этом режиме рассказано во врезке «Что такое резервные копии заключительного фрагмента журнала».

Использование модели полного восстановления обеспечивает относительно несложную процедуру восстановления и является предпочтительным вариантом, если осуществляется полное резервирование с журналом. При этом выполняется восстановление последней полной резервной копии с последующим последовательным восстановлением имеющихся журналов в хронологическом порядке (в порядке создания), а в завершение восстанавливается заключительный фрагмент журнала. Эта стратегия подходит для производственных систем, особенно если они транзакционные и с небольшим количеством массовых операций.

Если в базе данных массовые обновления носят регулярный характер, возможно, имеет смысл использовать модель восстановления с неполным протоколированием (bulk logged recovery). Поскольку отдельные записи, включенные в массовую операцию в этом случае не журналируются, этот подход сокращает накладные расходы на ведение журнала SQL Server. Хотя вы можете получить заметное увеличение производительности при выполнении массовых операций, вы рискуете потерять данные при восстановлении, если исходные данные для повторного выполнения массовых операций окажутся в момент восстановления недоступны. При применении простой модели восстановления резервирование журнала также невозможно, так как в этом случае происходит обрезание журнала до контрольной точки.

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

BACKUP DATABASE AdventureWorks TO DISK = ‘E:\SQLdata\BACKUPS\AdventureWorks_FullDbBkup.bak’ WITH INIT, NAME = ‘AdventureWorks Full Db backup’, DESCRIPTION = ‘AdventureWorks Full Database Backup’

А затем следует выполнить резервирование журнала с помощью команды:

BACKUP LOG AdventureWorks TO DISK = ‘E:\SQLdata\BACKUPS\AdventureWorks_TlogBkup.bak’ WITH NOINIT, NAME = ‘AdventureWorks Translog backup’, DESCRIPTION = ‘AdventureWorks Transaction Log Backup’, NOFORMAT

Параметр WITH NOINIT в последней команде указывает, что файл резервной копии должен быть записан в режиме добавления (append) на существующий носитель, диск или ленту. В этом случае все резервные копии журнала транзакций будут дописаны в один и тот же файл один за другим подряд. NOFORMAT предписывает процессу резервирования сохранить всю заголовочную информацию, которая может содержаться на резервных дисках в заголовках. Этот способ принят по умолчанию, и явное указание данной установки является необязательным, но оно полезно в качестве самодокументирования операции.

Для восстановления с полной резервной копии или полной копии с сохранением журнала выполните следующие шаги.

  1. Если база данных в состоянии онлайн, ограничьте доступ к ней, переключив режим доступа (в окне свойств) на RESTRICTED_USER. Таким образом доступ к базе данных будет разрешен только членам группы базы данных db_owner и членам групп сервера dbcreator и sysadmin.
  2. Исправьте ошибку, вызвавшую крушение базы данных.
  3. Если возможно, примените все сохраненные в резервных копиях журналы транзакций с параметром NORECOVERY.

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

BACKUP LOG AdventureWorks TO DISK = ‘E:\SQLdata\BACKUPS\AdventureWorks_TaillogBkup.bak’ WITH NORECOVER

Для полного восстановления из полной резервной копии необходимо сначала восстановить файлы базы данных с помощью команды:

RESTORE DATABASE AdventureWorks FROM DISK = ‘E:\SQLdata\BACKUPS\AdventureWorks_FullDbBkup.bak’ WITH NORECOVERY

Параметр NORECOVERY сообщает SQL Server, что частичные транзакции должны быть оставлены как есть, не нужно пытаться отменить их. При последующем восстановлении журналов транзакций будут восстановлены данные, позволяющие завершить эти частичные транзакции. При использовании параметра NORECOVERY база данных остается в нерабочем состоянии. Сразу за полным восстановлением должны быть восстановлены все резервные копии журналов транзакций с параметром NORECOVERY, как показано ниже:

RESTORE LOG AdventureWorks FROM DISK = ‘E:\SQLdata\BACKUPS\AdventureWorks_TlogBkup.bak’ WITH NORECOVERY

Наконец, выполните восстановление заключительного фрагмента с параметром RECOVERY:

RESTORE LOG AdventureWorks FROM DISK = ‘E:\SQLdata\BACKUPS\AdventureWorks_TaillogBkup.bak’ WITH RECOVERY

Стратегия полного восстановления с восстановлением журналов не является абсолютной защитой. Если одна из резервных копий журналов окажется повреждена, то восстановление будет возможно только до точки, предшествующей поврежденному журналу. Например, предположим, что по воскресеньям выполняется еженедельное полное резервирование, а резервирование журналов – с понедельника по субботу. Если повреждена резервная копия вторника, то восстановлены могут быть только данные понедельника: риск повреждения целостности данных в результате применения транзакций среды к данным понедельника вряд ли оправдан. И восстановление заключительного фрагмента тоже ничего не даст.

Полное плюс разностное резервирование

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

Разностное резервирование имеет накопительный характер – оно включает в себя все данные и структуры, которые были изменены с момента последнего полного резервирования вне зависимости от того, когда осуществлялось последнее полное резервирование и сколько раз с того момента выполнялось разностное резервирование. Предположим, что полное резервирование было выполнено в воскресенье, а разностное резервирование производилось каждый день, как показано на рисунке 3. Разностная копия понедельника будет содержать все изменения, выполненные в понедельник, разностная копия вторника – изменения понедельника и вторника, разностная копия среды – изменения понедельника, вторника и среды и т.д.

Рисунок 3. Расписание заданий на разностное резервирование

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

BACKUP DATABASE AdventureWorks TO DISK = ‘E:\SQLdata\BACKUPS\AdventureWorks_DiffDbBkup.bak’ WITH INIT, DIFFERENTIAL, NAME = ‘AdventureWorks Diff Db backup’, DESCRIPTION = ‘AdventureWorks Differential Database Backup’

Чтобы восстановить базу данных из разностной резервной копии, выполните следующие шаги.

  1. Если база данных в состоянии онлайн, ограничьте к ней доступ, переключив режим доступа (в окне свойств) на RESTRICTED_USER. Тем самым доступ к базе данных будет разрешен только членам группы базы данных db_owner и членам групп сервера dbcreator и sysadmin.
  2. Выполните резервирование заключительного фрагмента журнала.
  3. Исправьте ошибку, вызвавшую сбой базы данных.
  4. Выполните восстановление полной резервной копии с параметром NORECOVERY.
  5. Выполните восстановление последней имеющейся разностной резервной копии с параметром NORECOVERY.
  6. Выполните восстановление резервной копии заключительного фрагмента журнала с параметром RECOVERY.

Для восстановления разностной резервной копии (выполняется после восстановления полной копии) введите команду:

RESTORE DATABASE AdventureWorks FROM DISK = ‘E:\SQLdata\BACKUPS\AdventureWorks_DiffDbBkup.bak’WITH NORECOVERY

Затем восстановите заключительный фрагмент журнала с параметром RECOVERY, с помощью приведенной ранее команды.

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

Комбинирование стратегией

Если повторное выполнение транзакций для восстановления операций последнего дня представляется нецелесообразным, вы можете выполнять полное резервирование в воскресенье, разностное резервирование каждую последующую ночь и резервирование журналов транзакций по утрам и вечерам с понедельника по субботу, как показано на рисунке 4. Если в пятницу вечером с базой данных случится беда, а разностная резервная копия четверга окажется поврежденной, можно будет выполнить восстановление по разностной копии среды, а затем применить журналы четверга и пятницы. Таким образом база данных будет восстановлена до самого момента отказа. Более подробно этот вопрос рассматривается во врезке «Как восстановить базу данных по состоянию на заданный момент времени».

Для уменьшения риска потери данных следует придерживаться смешанной стратегии, включающей полное резервирование, резервирование журналов и разностное резервирование, хотя такое смешение способов несколько усложняет стратегию резервирования и управление резервными копиями. Следует также оценить, потерю какого объема данных можно допустить после сбоя базы данных и восстановления. Использование вместо простого восстановления стратегий полного восстановления или модели с неполным журналированием влечет за собой больше накладных расходов на операции с файлом журнала транзакций и приводит к созданию больших файлов резервных копий, но обеспечивает более высокую степень сохранности данных.

Альтернативные стратегии резервирования

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

Доступ к базе данных во время выполнения резервирования и восстановления

Резервирование базы SQL Server является онлайн-процессом, все хранящиеся в SQL Server данные во время операции резервирования доступны. Операции изменения базы данных, предложения INSERT, UPDATE и DELETE доступны точно так же, как выборка данных (SELECT). Во время резервирования нельзя изменять структуру базы данных или файловую структуру – предложения ALTER DATABASE, ADD FILE или SHRINKFILE во время резервирования выполняться не могут. Если для базы данных включен режим автоматического запуска уменьшения файла базы данных (auto-shrink), возможен конфликт во время выполнения резервирования. Так, если в процессе выполнения резервирования запустится автоматическое уменьшение файла базы, то обе операции могут завершиться отказом. Та операция, которая стартует раньше, установит блокировку файла, а следующей операции придется ожидать снятия блокировки. Если первая операция снимет блокировку, то начнется выполнение второй. Если же произойдет тайм-аут блокировки первой операции, вторая операция завершится отказом. Такой подход может показаться неправильным с точки зрения исполнения второй операции, которая вынуждена ожидать отказа, и только после него выдаст отказ. Но если учесть, что работа второй операции зависит от успеха первой, если при выполнении первой операции произошел отказ, выполнение второй не имеет смысла. Для предотвращения такой проблемы следует отключать автоматическое уменьшение файла базы данных перед выполнением резервирования.

В большинстве случаев восстановление базы SQL Server является автономной операцией, во время которой доступ пользователей к базе невозможен. При использовании SQL Server 2005 Enterprise Edition с моделью полного восстановления частичное восстановление и восстановление неосновных групп файлов по умолчанию являются онлайн-операциями. Части базы данных, которые не должны восстанавливаться, например группы файлов с доступом только для записи, могут быть доступны пользователям на всем протяжении выполнения операции восстановления. Группы файлов для чтения/записи доступны, если они не были переведены в автономное состояние для восстановления. Эта возможность очень полезна для больших баз данных, работающих в режиме 24x7x365. Дополнительную информацию можно найти в документации SQL Server 2005 BOL, «Performing Online Restores» (http://msdn.microsoft.com/ru-ru/library/ms188671.aspx), а также во врезке «Почему восстановление базы данных не может выполняться онлайн».

Подведем итоги

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

Кто может выполнять резервирование?

Резервирование баз данных доступно ограниченному кругу лиц. По умолчанию разрешение дается членам определенных групп системных администраторов серверов и ролям базы данных db_owner и db_backupoperator. При использовании устройств резервирования, дисков или лент необходимо обращать внимание на то, кто является владельцем и какие установлены разрешения. SQL Server должен иметь возможность чтения и записи на устройство. Если учетная запись, от имени которой работает SQL Server, не обладает правами доступа к устройству, вы узнаете об этом только в случае сбоя при выполнении операций резервирования или восстановления. Хранимая процедура sp_addumpdevice, выполняющая добавление записи об устройстве резервирования в системные таблицы, не выполняет проверку прав доступа на уровне файлов.

Для набора резервной копии можно указать пароль. В этом случае при восстановлении базы данных также необходимо ввести пароль. Парольная защита является необязательной мерой, которая, кстати, считается ненадежной. Защита паролем используется для предотвращения восстановления данных неавторизованными лицами, которые не располагают сведениями о принятых в компании политиках резервирования/восстановления. Поскольку при указании пароля данные не шифруются, эта мера не позволит предотвратить чтение данных резервной копии с помощью специальных средств. Кроме того, пароль не спасает от перезаписи или удаления файла резервной копии.

Модели восстановления баз данных

Настройка модели восстановления определяет, какая часть данных может быть восстановлена в случае краха базы данных. Для каждой базы данных можно установить собственную модель восстановления в зависимости от того, какую потерю данных вы готовы допустить. Чтобы установить модель восстановления базы данных с помощью SQL Server Management Studio (SSMS), щелкните правой кнопкой нужную базу данных, откройте окно свойств Properties, перейдите на страницу Options и выберите нужную модель резервирования из выпадающего списка.

Существует три типа моделей восстановления: полное, простое и с неполным журналированием (full, simple, и bulk-logged). Полная модель восстановления наиболее использует все возможности журнала транзакций и позволяет восстановить базу данных с высокой степенью точности на заданный момент времени. Все операции, такие как транзакции данных, структурные изменения базы данных, операционные инструкции типа завершения транзакции или отмена, большие объекты и массовые операции, сохраняются в журнале. Журнал транзакций пополняется до тех пор, пока не будет выполнено резервирование журнала транзакций.

Простая модель восстановления минимально использует журнал транзакций и позволяет восстановить последнюю полную резервную копию базы данных. Как и в случае модели полного восстановления, все транзакции (кроме некоторых пакетных операций) сохраняются в журнале. В отличие от модели полного восстановления, SQL Server автоматически очищает журнал от неиспользуемых элементов. Из-за этого вы не можете делать резервные копии журнала транзакций при использовании простой модели восстановления.

Модель восстановления с неполным журналированием занимает промежуточное положение между «крайними» моделями полного и простого восстановления. Хотя название bulk-logged может навести на мысль о журналировании массовых операций, в действительности они сохраняются в журнале лишь частично. Во время массовых операций, которые часто заключаются в добавлении большого числа записей за короткий промежуток времени, SQL Server устанавливает на каждом затронутом обновлением экстенте базы данных битовый флажок, но на самом деле вставленные записи не добавляются в файл журнала. Во время последующего резервирования журнала транзакций SQL Server проверяет этот флажок и записывает в резервную копию журнала транзакций сами экстенты базы данных, которые были изменены массовой операцией в добавление к обычным записям о вставке и удалении. Таким образом, резервная копия журнала в модели восстановления с неполным журналированием содержит результаты выполнения массовых операций, а не действительно выполненные отдельные транзакции.

Использование модели восстановления с неполным журналированием обеспечивает такую же полноту, как и модель полного восстановления, но без дополнительных накладных расходов, которые появляются при резервировании всех массовых вставок данных. Но при этом использование модели восстановления с неполным журналированием связано с определенными рисками. При потере исходных данных массовой операции между операциями резервирования полное восстановление базы данных будет невозможно. Кроме того, невозможно восстановить состояние базы данных на определенный момент времени по резервной копии заключительного фрагмента журнала – попытка выполнения восстановления завершится неудачей.

Хотя модели полного восстановления и восстановления с неполным журналированием подразумевают более высокую интенсивность операций с журналом транзакций и больший размер файла резервной копии, это компенсируется более полным восстановлением данных в случае сбоя базы данных.

Стандартные команды для резервирования

В SQL Server 2005 и SQL Server 2000 имеются две команды для выполнения, в сущности, одного и того же действия – DUMP и BACKUP (то есть DUMP DATABASE или BACKUP DATABASE и DUMP LOG или BACKUP LOG). Команда DUMP сохранилась со времен SQL Server 6.5, когда резервирование базы данных означало просто копирование базы данных в состоянии на момент перед началом операции резервирования. При этом изменения в базе данных, которые могли произойти после начала резервирования, не попадали в резервную копию.

Начиная с версии 7 SQL Server может выполнять настоящее «динамическое» резервирование, а это означает, что изменения, внесенные после начала процесса резервирования, записываются в журнал транзакций и сохраняются в файле резервной копии. Таким образом, резервная копия представляет собой «снимок» базы данных на момент завершения операции резервирования. Команда DUMP сохраняется для обратной совместимости, но Microsoft не рекомендует ее использовать в новых разрабатываемых системах. Когда-нибудь эта команда будет исключена, и разработчикам придется избавиться от нее в тех фрагментах программного кода, где она еще используется.

Тем, кто всегда тщательно следил за резервированием баз данных SQL Server и стремился изучать нововведения SQL Server 2005, следует продолжать внимательно следить за резервными копиями: в SQL Server 2005 нет привычной команды DBCC REPAIR. «Заменой» для этой команды служит DROP DATABASE.

Замена базы данных

При восстановлении базы данных на новом сервере используйте параметр REPLACE, который отключает обычные проверки безопасности и позволяет перезаписывать существующие базы данных, даже если их имя отличается от имени восстанавливаемой базы. Например, предположим, что была сделана резервная копия базы данных D, расположенной на сервере A. Эта резервная копия должна быть восстановлена на сервере B. Сначала на сервере B следует создать пустую промежуточную базу, при этом имя и размер базы не имеют никакого значения. Далее, надо восстановить базу D с параметром REPLACE на сервере B поверх только что созданной промежуточной базы. Если же восстановление должно быть произведено обратно на сервер A, на прежнее место, параметр REPLACE указывать не требуется. По умолчанию операция восстановления базы данных выполняет встроенные проверки безопасности, например если в нормальной ситуации нельзя выполнить восстановление базы поверх другой существующей базы данных. Аналогично, запрещено восстановление базы данных, зарезервированной в режиме полного резервирования или резервирования с журналированием массовых операций, если отсутствует резервная копия заключительного фрагмента журнала.

Если требуется восстановить базу данных, для которой по тем или иным причинам не была сделана резервная копия заключительного фрагмента журнала (например, из-за испорченного файла резервирования журнала транзакций), то восстановление в режиме REPLACE может оказаться единственным способом успешного восстановления. Другой пример, когда параметр REPLACE необходим, - если резервную копию производственной базы данных требуется восстановить в среде тестирования и разработки. Даже когда имена базы данных в производственной среде и в среде разработки совпадают, с точки зрения SQL Server это различные базы данных.

Что такое резервные копии заключительного фрагмента журнала

Резервирование заключительного фрагмента журнала – новый режим резервирования в SQL Server 2005. В этом режиме в резервную копию дописываются записи журнала транзакций, которые добавлялись с момента последнего резервирования файла журнала. Когда вы пытаетесь восстановить базу данных на момент отказа, перед началом восстановления выполните резервирование заключительного фрагмента. Резервирование последнего не нужно делать в том случае, если вы собираетесь восстановить базу данных по состоянию на момент до последнего резервирования журнала транзакций, или переносите базу данных с одного экземпляра сервера на другой, либо перезаписываете базу данных. Возможна ситуация, когда журнал транзакций поврежден – в этом случае выполнить резервирование заключительного фрагмента невозможно, и восстановление придется выполнять без него.

Как восстановить базу данных по состоянию на заданный момент времени

Возможна ситуация, когда необходимо выполнить восстановление базы из-за ошибочно выполненного кода – например, кто-то по ошибке удалил таблицу в производственной базе данных или забыл указать оператор WHERE в предложении DELETE. В таких случаях требуется восстановить базу по состоянию до того момента, когда ошибочный код был выполнен.

Восстановление представляет собой комплекс операций, приводящих базу данных в согласованное состояние. Для восстановления базы до определенной точки во времени необходимо выполнить полное восстановление или восстановление с неполным журналированием. Модель простого восстановления приводит к отсечению журнала транзакций до контрольной точки без возможности повтора-отмены действия (redo-undo) и без возможности восстановления по состоянию на заданный момент времени.

Выполнение операций восстановления с последующим «повторением/отменой изменений» заключается в восстановлении данных в исходное состояние на определенный, заданный пользователем момент времени – по имени выполненной транзакции или по номеру последовательности в журнале. Модель восстановления с неполным журналированием характеризуется дополнительным ограничением: восстановление на определенный момент возможно только в том случае, если с момента предыдущего резервирования журнала не выполнялись массовые операции. Другими словами, для успешного восстановления на определенный момент времени необходимо, чтобы последовательность файлов резервных копий журналов была непрерывной.

Восстанавливаемые данные на определенный момент времени должны содержаться в резервной копии журнала транзакций. При восстановлении журнала вы можете восстановить транзакции, которые были выполнены до определенного момента времени, указав нужный момент с помощью оператора STOPAT, STOPATMARK или STOPBEFOREMARK.

При восстановлении базы данных по состоянию на некоторый момент времени выполните полное резервирование с установкой NORECOVERY, как показано ниже:

RESTORE DATABASE AdventureWorks FROM DISK = "E:\SQLdata\BACKUPS\AdventureWorks_FullDbBkup.bak" WITH NORECOVERY

Затем примените все резервные копии журналов с установкой RECOVERY и указанием даты и времени требуемой точки во времени в каждом предложении RESTORE LOG:

RESTORE LOG AdventureWorks FROM DISK = "E:\SQLdata\BACKUPS\AdventureWorks_TlogBkup.bak" WITH RECOVERY, STOPAT = ‘ Dec 10, 2007 8:10 PM’

Резервирование файлов/групп файлов

Эта стратегия резервирования подходит только в том случае, если база данных состоит из нескольких файлов или групп файлов. Если размеры базы или требования к производительности делают полное резервирование базы данных невозможным и если необходимо быстрое восстановление в случае отказа, стоит принять во внимание стратегии резервирования файлов/групп файлов.
Эта стратегия может использоваться для SQL Server 2005 или SQL Server 2000, при этом при выполнении каждой операции требуется указать, какие файлы, группы файлов или комбинации будут резервироваться. При этом следует выполнить полное резервирование базы данных вскоре после создания, после чего выполнять регулярное резервирование файлов или групп файлов. Если для конкретной базы данных необходимо задействовать простую модель восстановления, все доступные для чтения/записи файлы и группы файлов должны резервироваться одновременно. Для минимизации потерь данных при восстановлении выбирайте модель полного восстановления или модель восстановления с неполным протоколированием, при этом необходимо включить в стратегию резервирование журнала транзакций.
Восстановление базы все равно означает ограничение доступа к базе данных, но на меньшее время, чем при полном восстановлении базы данных. Во время восстановления доступ ограничивается только к группам файлов, восстанавливаемым в данный момент.
В худшем случае, если требуется восстановление всей базы данных и вы используете модель полного восстановления, потребуются все резервные копии журналов транзакций с момента создания базы данных. Кроме того, если необходимо восстановление базы на определенный момент времени, потребуется полный набор резервных копий журналов транзакций.

Частичное восстановление

Эта стратегия, появившаяся в SQL Server 2005, предназначена для баз данных, в которых имеются множественные группы файлов только для чтения и которые используют простую модель восстановления. Поскольку базы данных этого типа в основном предназначены только для чтения, стратегии полного резервирования и полного восстановления являются избыточными. Впрочем, модель частичного резервирования может применяться к базам данных любого типа.

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

Перед тем, как настраивать частичное резервирование, необходимо осуществить тщательное планирование. При создании базы данных следует создать различные группы файлов, а при формировании таблиц – разместить их явным образом в соответствующих группах файлов. Так, таблицы каталогов базы данных в первичной группе файлов, таблицы только для чтения – в группах файлов только для чтения, а таблицы для чтения/записи – в группах файлов для чтения/записи.

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

Восстановление после частичного резервирования все равно подразумевает ограничение доступа к базе данных, но на меньший интервал времени, чем при полном восстановлении базы данных – и только для первичной группы файлов, групп для чтения/записи и групп только для чтения, которые были частью резервирования. Более подробную информацию можно найти в документации SQL Server 2005 Books Online «Частичные резервные копии» http://msdn.microsoft.com/ru-ru/library/ms191539.aspx.

Резервные копии состояния

Иногда возникает потребность выполнить резервирование для решения специальных задач, например чтобы создать презентацию для демонстрации клиенту. При этом вы не хотите, чтобы был нарушен нормальный порядок файлов, необходимых для восстановления базы данных. В этом случае можно воспользоваться возможностью создания резервной копии состояния базы данных. Такая копия может быть создана вне зависимости от того, какая стратегия восстановления базы будет использована – полная, массового копирования или простая (bulk-copy, или simple).

Но резервные копии состояния нельзя делать частью стратегии восстановления. Вы можете создать копию состояния, восстановить из нее базу данных на демонстрационном ноутбуке, а затем спокойно удалить файл этой резервной копии. Другие «нормальные» резервные копии никак не зависят от копий состояния, так что копии состояния не будут требоваться при выполнении восстановления.

Стратегию резервирования состояния нельзя использовать в качестве базы для разностного резервирования, так как при создании копии состояния не обновляется карта разностей (differential bitmap), используемая для определения, какие экстенты следует копировать, а какие оставить. В действительности, процедура разностного копирования не учитывает сделанные копии состояния, поэтому такие копии не могут участвовать в процессе разностного восстановления.

При резервировании журнала транзакций состояния базы данных журнал транзакций не обрезается, в отличие от обычного резервирования. Резервирование состояния также не оказывает влияния на цепочку журналов, которая используется для полного резервирования с журналом восстановления. Резервные копии состояния вообще не включаются в список резервных копий журналов при восстановлении. Более подробные сведения можно найти в документации SQL Server 2005 BOL «Резервные копии состояния» по адресу http://msdn.microsoft.com/ru-ru/library/ms191495.aspx.

Почему восстановление базы данных не может выполняться онлайн

Администраторов резервирования часто спрашивают, почему во время восстановления базы данных доступ к ней закрыт. На самом деле частичный доступ к данным возможен в зависимости от типа выполняемого восстановления. Общее правило таково, что файлы, группы файлов или страниц, для которых выполняется автоматическое восстановление, переводятся в автономный режим потому, что это необходимо для успешного выполнения операций восстановления.

Процесс восстановления обычно начинается с копирования данных, журналов и индексных страниц с резервного носителя на место файлов базы данных. Затем наступает черед фазы повторного исполнения – применения сохраненных в журнале транзакций к данным, сохраненным на момент резервирования базы; этот процесс часто называют «повторять изменения». Эти зафиксированные в журнале транзакции представляют собой изменения в базе данных, которые были выполнены после последнего резервирования базы перед сбоем. Сначала SQL Server копирует данные и структурные изменения в журнал транзакций, а затем выполняет эти изменения на реальной базе данных. Повторение изменений обеспечивает применение к базе данных изменений, которые были сделаны в журнале.

На этой стадии в базе данных обычно содержатся незавершенные транзакции, и база данных не может использоваться для доступа. Далее для SQL Server 2005 Standard Edition наступает фаза последней отмены, в ходе которой выполняется отмена всех незавершенных транзакций. После завершения этой фазы база данных полностью восстановлена и готова к работе. Редакция Enterprise Edition работает немного по другому – база данных готова к использованию сразу после повторения изменений, не дожидаясь фазы отмены незавершенных транзакций.

Доступ к файлам, группам файлов и страницам в процессе восстановления базы данных и фаз повторения изменений/отмены незавершенных транзакций запрещен потому, что данные, которые могли бы быть получены, являются недостоверными. Попытка обработки «грязных» данных может вызвать проблемы, связанные с пропущенными и незавершенными транзакциями.


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


Происходит автоматически, раз в сутки. КОМТЕТ предлагает дополнительную опцию - пользовательское резервное копирование и восстановление данных. Клиент может создавать бекапы самостоятельно с помощью Панели управления хостингом (опция зависит от тарифа).

Для того чтобы создать резервную копию домена (веб-сайта):

  1. Перейдите в раздел Домены> имя домена > Менеджер резервного копирования .
  2. Нажмите Резервное копирование .
  3. Укажите следующие параметры:
    • Префикс имени файла резервной копии и описание. Можно указать произвольное имя файла. Однако, также можно настроить в панели управление добавление префикса к имени файла резервной копии. Следует помнить, что панель управления автоматически добавляет к именам файлов резервных копий дату и время создания резервной копии (по всемирному времени).
    • Разделение файла резервной копии. Для того чтобы создать многотомный архив, отметьте флажком соответствующее поле и укажите размер тома в мегабайтах.
    • Место для сохранения файла резервной копии. Выберите хранилище, в которое следует сохранить файл резервной копии.
    • Какие данные необходимо включить в резервную копию. Можно создать резервную копию только настроек веб-хостинга или настроек веб-хостинга вместе со всеми данными пользователей.
    • Уведомление по электронной почте после завершения резервного копирования. Если требуется, чтобы по окончанию резервного копирования отправлялось уведомление по электронной почте, введите нужный адрес электронной почты.
    • Заблокировать веб-сайт до завершения резервного копирования. Поставьте флажок в этом поле, если необходимо запретить пользователям изменять контент или настройки веб-сайта во время, когда выполняется резервное копирование.*
  4. Нажмите Резервное копирование . Процесс резервное копирование будет запущен. Информация о статусе выполнения будет показана на вкладкеТекущие задачи резервного копирования . Нажмите кнопку Обновить , чтобы обновить данные, отображаемые на экране.
  5. После завершения резервного копирования файл резервной копии будет сохранен в выбранном вами хранилище, а доступ к нему можно будет получить через FTP -сервер или из раздела Домены >имя домена > Менеджер резервного копирования .

Для того чтобы восстановить данные из файла резервной копии:

  1. Перейдите в раздел Домены > имя домена >Менеджер резервного копирования .
  1. Выберите нужный файл резервной копии.
  2. Установите следующие параметры:
    • Типы данных, которые требуется восстановить.
    • Заблокировать домен (веб-сайт) до завершения задачи восстановления Выберите эту опцию, если вы хотите избежать конфликтов, которые могут возникать, когда пользователи изменяют содержимое веб-сайтов или настройки в то время, как происходит восстановление сайтов.*
    • Направлять уведомление по электронной почте после выполнения задачи восстановления. Введите свой адрес электронной почты, если требуется, чтобы панель управления направляла уведомление после завершения восстановления.
    • Политика разрешения конфликтов. Укажите, что следует делать в случае возникновения конфликтов при восстановлении.
  3. Нажмите Восстановить .

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

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

    • Если объекта или настроек из файла резервной копии нет в Parallels Plesk Panel, они будут созданы и установлены в Parallels Plesk Panel.
    • Если объект или настройки из файла резервной копии присутствуют в Parallels Plesk Panel, то объект или настройки из резервной копии заменят соответствующий объект или настройки, имеющиеся в Parallels Plesk Panel.
    • Если объект или настройки имеются в Parallels Plesk Panel, но отсутствуют в файле резервной копии, то объект или настройки, имеющиеся в Parallels Plesk Panel, не изменятся.

Путь для базы резервного копирования вы можете выбрать, например, в httpsdocs (корень недоступен для записи):
/home/vhosts/ваш_домен/httpsdocs/backup

* При включении данной опции, домен будет разблокирован в течении часа. Не рекомендуется к использованию, т.к. при предупреждениях в процессе архивации автоматическая разблокировка может не произойти.

Обратите внимание, что пользовательские резервные копии, создаваемые Клиентом, входят в дисковую квоту (дисковое пространство). Системные резервные копии в квоту не входят.

При возникновении вопросов обращайтесь с круглосуточную

Похожие статьи