суббота, 20 июня 2015 г.

Восстановление баз данных с помощью Veeam Explorer for Microsoft SQL Server

После разбора теории процессов и практических советов для резервного копирования виртуализованного SQL Server перейдем к рассказу о восстановлении баз данных с помощью Veeam Explorer for Microsoft SQL Server. Этот инструмент позволяет восстановить базу на исходный или на другой сервер без необходимости поднимать сам сервер из резервной копии.

 В общем виде процесс восстановления с участием Veeam Explorer происходит так:



Ответственный за восстановление администратор запускает консоль Veeam Backup & Replication и использует свою любимую опцию восстановления (из предлагаемых Veeam), чтобы смонтировать SQL Server (прямо из резервной копии, как она есть в репозитории) на сервер Veeam backup, вместе с файловой системой и всеми имеющимися на SQL Server инстансами и базами.
Veeam Explorer for Microsoft SQL Server добывает информацию об иерархии инстансов и баз на этом сервере SQL и в своей консоли создает представление для пользователя. Пользователь может просматривать все дерево и, найдя нужную базу (базы), выбрать и запустить требуемый сценарий восстановления. Поддерживаются следующие сценарии восстановления и экспорта:
В состояние, соответствующее выбранной точке восстановления (той, которая в текущий момент смонтирована на сервер Veeam backup)
В состояние на выбранный момент времени
В состояние накануне выбранной транзакции

 Первый из этих сценариев задействует только целевой SQL Server; для остальных же потребуется как целевой сервер, так и вспомогательный SQL сервер (staging server)

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

Определяемся, что и как хотим восстанавливать

 Безусловно, ориентируемся на предписания политик восстановления. Чтобы выбрать нужный сценарий и подготовить всё небходимое для его успешного выполнения, неплохо составить чек-лист и ответить на основные вопросы:
Будете ли вы восстанавливать базу на момент создания точки восстановления SQL, или необходимо обеспечить возможность восстановления на любой момент времени (в том числе в промежуток между точками восстановления сервера)?
 В последнем варианте понадобятся бэкапы логов, чтобы «накатить» их на выбранную точку, так что необходимо будет выбрать опцию Backup logs при настройках задания резервного копирования сервера.
Планируется ли восстановление базы на состояние, предшествовавшее какой-либо операции (например, удалению записи из таблицы)?
 Для восстановления с таким уровнем гранулярности понадобятся:
бэкапы журналов транзакций
вспомогательный SQL сервер (о требованиях к нему скажу чуть позже), который позволит вывести в консоли перечень операций, чтобы пользователь смог их просмотреть и выбрать нужную, а затем выполнить «накат» логов.

Будет ли база восстанавливаться на исходный Microsoft SQL Server или на другой?
Проверьте настройки соединения сервера Veeam backup с данным сервером.
Убедитесь, что у учетной записи, под которой планируется выполнять восстановление, есть все необходимые права.
Проверьте версионность SQL Server, куда будете восстанавливать (восстановление базы с сервера более новой версии на сервер более старой поддержано не будет).

Кто будет заниматься восстановлением баз? Вы лично, или другие пользователи (группы пользователей)?
 Во втором случае разумно делегировать восстановление, задействуя для этого функциональность Enterprise Manager.

 Отмечу, что в процессе восстановления не нужно целиком восстанавливать и запускать собственно сервер. Вместо этого резервная копия (в том виде, в котором она хранится в репозитории, т.е. после сжатия и дедупликации) монтируется на бэкап-сервер Veeam. Для того, чтобы корректно смонтировать файловую систему этой виртуальной машины и отобразить ее в привычном нам виде в окне браузера Veeam Backup Browser, используется специальный драйвер Veeam.
 Далее можно выбрать, с помощью какого инструмента будем выполнять восстановление базы данных:

Veeam Explorer for Microsoft SQL Server – позволяет восстановить базу на исходный либо на другой сервер (требуется коммерческая лицензия), в состояние, соответствующее выбранному бэкапу самого сервера/указанному моменту времени/накануне выбранной транзакции. Этот инструмент и сценарии я опишу ниже в подробностях.
Veeam Backup Enterprise Manager – позволяет делегировать возможности восстановления другим пользователям, дав им права работать с определенными серверами (также требуется коммерческая лицензия Enterprise Plus). Поддерживается восстановление на исходный либо другой сервер, в состояние, соответствующее выбранному бэкапу сервера/указанному моменту времени.
Для особо увлеченных можно использовать мастер гранулярного восстановления (U-AIR) и создать запрос к бэкап-администратору на восстановление базы, таблицы или результатов запроса в состояние на момент выбранного бэкапа SQL сервера. Поскольку этот способ задействует виртуальную лабораторию и требует более тонких настроек, а сам инструмент выдается теперь по запросу, рекомендуется для такого случая обращаться в службу поддержки. Если же вы всё еще работаете с версией 7, то можно почитать документацию.


 Итак, остановимся на восстановлении базы данных с использованием Veeam Explorer for Microsoft SQL Server.

Что нужно сделать до запуска Veeam Explorer?

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

Шаг 1: Проверить, открыты ли порты

 Для связи бэкап-сервера Veeam с гостевой ОС вашего SQL сервера, скорее всего, на бэкап-сервере понадобится открыть порты TCP 1433 и TCP 1434. Остальные (если понадобятся) будут зависеть от конфигурации вашего SQL Server; за подробностями добро пожаловать в http://msdn.microsoft.com/en-us/library/cc646023.aspx#BKMK_ssde.

Шаг 2: Подготовить вспомогательный сервер (при необходимости)

 Если вам нужно восстановить базу на состояние, соответствующее выбранному бэкапу SQL сервера, никаких дополнительных машин не потребуется. Но если вы собираетесь выбрать другой сценарий, то вам будет нужен вспомогательный сервер (staging server), который обеспечивает следующие операции (см.также таблицу выше):
Восстановление базы в состояние накануне выбранной транзакции
Экспорт базы (файлов .MDF и .LDF) в том состоянии, в котором она была в выбранный момент времени или накануне выбранной транзакции

 По умолчанию, в качестве вспомогательного будет использован SQL Server, установленный вместе с бэкап-сервером Veeam. Вы можете указать другой сервер, запустив Veeam Explorer for SQL (например, из меню Start) и выбрав в главном меню пункт Options.

Важно! Главное здесь – обязательно указать локальный инстанс SQL Server-а (т.е. стоящий на одной машине с Veeam Explorer и бэкап-сервером) и проверить, что его версия не младше той, что у SQL, чью базу вы планируете восстановить (т.е. нельзя использовать SQL Server 2008 для восстановления/экспорта базы с SQL Server 2014).

Шаг 3: Назначить права учетной записи

 На разных этапах процесса могут потребоваться следующие права (в случае необходимости обратитесь к администратору БД за их выдачей):
Учетная запись, которую вы планируете использовать для доступа к гостевой ОС вашего SQL Server (та самая, которую вы указали на шаге Guest Processing при настройке задания резервного копирования), должна входить в фиксированную серверную роль sysadmin на данном SQL Server (если это не так, содержимое баз не будет отображаться в окне Veeam Explorer). См. также статью Veeam Knowledge Base.
Учетная запись, под которой вы вы планируете запускать Veeam Explorer — как правило, это та, под которой работает сервис Veeam Backup Service, о требованиях к которому рассказано здесь, — для сценария с экспортом базы данных должна иметь права на папку, в которую будет идти экспорт файлов БД (как минимум это Read и Write)
Учетная запись, под которой будет выполняться подключение к целевому SQL Server для восстановления базы (это может быть оригинальный или другой сервер), должна входить в фиксированную серверную роль sysadmin на целевом SQL Server.
Еще вам может понадобиться учетная запись, под которой будет осуществляться доступ к ОС Windows сервера, куда будут копироваться для последующего «наката» бэкапы журналов транзакций (в зависимости от сценария это будет либо целевой сервер, либо вспомогательный). Эта учетная запись должна иметь доступ к административной папке на указанном сервере (как минимум с правами Read и Write).

Шаг 4: Изучить ограничения и особенности операций

В текущей версии в качестве вспомогательного сервера не поддерживается инстанс SQL Server на удаленной машине. Используйте только локальные инстансы.
Если у вас в качестве вспомогательного будет использован SQL Server Express (например, поставляемый вместе с Veeam сервер SQL Express 2012), помните, что у него есть ограничение по размеру поддерживаемых баз – это 10 ГБ. Подробнее см. здесь.
По умолчанию, системные базы (master и др.) исключены из процессинга. Если вам нужно их восстановить, можно воспользоваться, например, процедурой восстановления файлов гостевой системы (как описано здесь).
В текущей версии не поддерживается восстановление из реплики на выбранный момент времени.
Если необходимо восстановить закриптованную базу данных, изучите вот эту статью из Veeam Knowledge Base.

Шаг 5: Подготовить файлы к восстановлению

 Для этого можно воспользоваться любой опцией восстановления из поддерживаемых Veeam Backup & Replication; удобнее всего использовать мастер SQL Restore Wizard (как описано здесь) – он выполнит нужные операции в автоматическом режиме и сам запустит Veeam Explorer. При необходимости – например, если вы работаете с VeeamZIP — аналогичные операции можно выполнить вручную (как описано здесь) – тогда финальным пунктом нужно будет добавить необходимую базу данных в консоль Veeam Explorer с помощью команды Add Database (подробнее см. здесь).

Итак, сценарии восстановления базы данных

Важно! Восстановление баз на SQL сервер (команды меню Restore) поддерживается для редакций Veeam Backup & Replication Enterprise и Enterprise Plus. Для всех редакций (включая Free и Standard) можно выполнить восстановление путем экспорта файлов базы и затем аттач к нужному серверу.

Сценарий №1. Восстановление на состояние «как в выбранном бэкапе SQL сервера»

 Вам понадобится точка восстановления (резервная копия, реплика, VeeamZIP), созданная с учетом работы приложения. Требуемые настройки конфигурации:
Модель восстановления для вашей базы — может быть любой.
В настройках задания резеврного копирования на шаге Guest Processing должна быть выбрана галка Enable application-aware image processing:


В диалоге настроек процессинга виртуальной машины на табе General надо выбрать вот такие опции:
В секции Applications — Require successful processing (recommended)
В секции Transaction logs — Process transaction logs with this job (recommended)



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


Примечание: Для тех, кто забыл или пропустил описание этих настроек — про них рассказывалось в первой серии.

 Данный сценарий (при наличии лицензии Veeam Backup & Replication Enterprise или Enterprise Plus) позволяет восстановить базу на исходный сервер или на другой выбранный вами.


Комментариев нет:

Отправить комментарий