Работа с данными
Резервное копирование РСУБД MS SQL Server выполняется путём установки клиента резервного копирования (также автоматически устанавливается модуль MS SQL) на узел с резервируемым экземпляром.
1. Описание подготовки
Предварительно для успешного резервного копирования и восстановления РСУБД MS SQL Server (в соответствии с Подготовка к установке):
-
подготовьте данные для подключения к резервируемому локальному экземпляру MS SQL Server;
-
выполните настройку конфигурационного файла модуля
С:\RuBackup-win-client\etc\rb_module_mssql_win.conf
для подключения к локальному экземпляру; -
обеспечьте свободное место на диске для промежуточного сохранения РК:
-
примерно 100% от размера резервируемых данных при полном типе резервного копирования;
-
примерно 50% от размера резервируемых данных при дифференциальном или инкрементальном резервном копировании;
-
задайте директорию для промежуточного сохранения резервной копии в конфигурационном файле клиента резервного копирования
С:\RuBackup-win-client\etc\rb_module_mssql_win.conf.txt
, для параметраuse-local-backup-directory
;
-
-
установите роль
sysadmin
уровня сервера в MS SQL Server для пользователя, от имени которого модульrb_module_mssql_win
будет подключаться к MS SQL Server и выполнять резервное копирование и восстановление; -
проверьте, что экземпляр MS SQL Server запущен и база данных
master
доступна; -
при использовании VSS-режима убедитесь, что служба SQL Writer работает (имеет статус
Stable
).
2. Описание резервного копирования СУБД
2.1. ODBC режим
При запуске задачи на резервное копирование экземпляра MS SQL Server:
-
Модуль MS SQL посылает Transact-SQL запрос к локальному экземпляру MS SQL Server на создание резервной копии.
-
MS SQL Server создаёт резервную копию во временную директорию:
-
в зависимости от значения параметра тонкой настройки модуля
number_of_disks
резервная копия будет сохранена в заданное количество файлов (для полного РК - с расширением.bak
; для дифференциального РК - с расширением.diff
, для инкрементального РК - с расширением.trn
); -
при резервном копировании в кластере MS SQL Server (availability groups):
-
все экземпляры кластера необходимо объединить в кластерную группу;
-
определить тип реплики
Primary
илиSecondary
, для которого будет выполняться резевное копирование.Роль реплики
Secondary
временно не поддерживается; -
установить выбранное значение реплики для параметра
PreferredReplica
в конфигурационном файле модуляС:\RuBackup-win-client\etc\rb_module_mssql_win.conf
на каждом узле MS SQL Server;
-
-
в отказоустойчивом кластере (On failover cluster instances):
-
все экземпляры кластера необходимо объединить в кластерную группу, для того, чтобы резервное копирование запускалось только на активном экземпляре;
-
рекомендуем указывать учётные данные пользователя (имя пользователя и пароль) в конфигурационном файле модуля
С:\RuBackup-win-client\etc\rb_module_mssql_win.conf
для подключения к базе данных.
-
-
-
Резервное копирование MS SQL Server выполняется в контексте модели восстановления базы данных, которая предназначена для управления журналом транзакций.
Создание резервной копии поддерживается при любой модели восстановления (
Full
,Bulk-logged
илиSimple
), но необходимо учитывать ограничения той или иной модели:-
при использовании модели восстановления
Simple Recovery model
резервное копирование журнала транзакций не поддерживается; -
при использовании модели восстановления
Bulk-logged
осуществляется минимальное ведение журнала транзакций, который подлежит резервному копированию; -
при использовании модели восстановления
Full
осуществляется полное ведение журнала транзакций, который подлежит резервному копированию.
-
-
Выполняется резервное копирование в зависимости от выбранного типа:
-
полное резервное копирование может выполняться для всех баз данных, в том числе системных (
master
,model
,msdb
).Полное резервное копирование может быть дополнено:
-
дифференциальными резервными копиями;
-
инкрементальными резервными копиями - создание цепочки резервных копий журналов транзакций.
-
-
Если в правиле резервного копирования определен параметр
Защитное преобразование
, то архивные файлы резервной копии будут преобразованы по выбранному алгоритму защитного преобразования с помощью мастер-ключа, сгенерированному на клиенте РК. -
Если в тонких настройках модуля активирован переключатель
compression
, то архивные файлы резервной копии будут сжаты средствами MS SQL Server [1]. -
Модуль отправляет подготовленную резервную копию на медиасервер с помощью утилиты
rbfd
. -
Временная директория очищается.
2.2. VSS режим
При запуске задачи на полное резервное копирование экземпляра MS SQL Server:
-
Для выполнения резервного копирования в режиме VSS с применением технологии создания моментальных снимков активируйте переключатель
use_vss_snapshot
тонких настроек модуля MS SQL. -
Модуль MS SQL запрашивает создание мгновенного снимка базы данных у службы VSS.
-
VSS уведомляет SQL Writer о начале процесса создания мгновенных снимков.
-
SQL Writer замораживает все операции ввода-вывода между MS SQL Server и базой данных.
-
MS SQL Server фиксирует все незавершённые транзакции, приводя все файлы в консистентное состояние.
-
VSS создаёт теневую копию, которая занимает минимальное дисковое пространство.
Для последующего восстановления РК с развертыванием необходимо сохранить метаданные полученные при резервном копировании - файл
vss_metadata
вsnap
каталоге, содержащий полный сгенеренный VSS XML-файл. -
MS SQL Server возвращается к нормальному режиму работы.
-
rbfd
перемещает файлы теневой копии на медиасервер.
При запуске задачи на дифференциальное резервное копирование экземпляра MS SQL Server:
-
VSS обеспечивает информацию об измененных частях файлов базы данных.
-
rbfd
выполняет вычисления от последней полной резервной копии, выполненной в режиме VSS. -
Файлы дифференциальной РК перемещаются на медиасервер.
3. Описание восстановления СУБД
3.1. ODBC режим
3.1.1. Подготовка
Предварительно, если база данных не существует:
-
у пользователя, от имени которого происходит подключение к MS SQL Server для восстановления, должо быть разрешение
CREATE DATABASE
.
Предварительно, если база данных существует:
-
у пользователя, от имени которого происходит подключение к MS SQL Server для восстановления, должо быть разрешение на восстановление базы данных, которое по умолчанию предоставлено пользователю с ролью
sysadmin
,dbcreator
илиdbo
уровня сервера в MS SQL Server.
3.1.2. Восстановление
При запуске задачи на восстановление резервной копии:
-
Резервная копия будет перемещена из медиасервера на клиент резервного копирования и распакована в выбранный Каталог распаковки.
В случае, если РК было выполнено с защитным преобразованием, то РК будет обратно преобразована с использованием того же мастер-ключа.
-
Если активирован переключатель Восстановить на целевом ресурсе, то модуль делает запрос в MS SQL Server на восстановление экземпляра из Каталога распаковки.
Для системных баз данных (
master
,msdb
,model
) восстановление на целевом ресурсе (с автоматическим развертыванием) не поддерживается, необходимо проводить восстановление вручную. -
При восстановлении полной РК база данных будет перезаписана полностью.
-
После восстановления каталог распаковки очищается.
-
Восстановленная база данных соответствует состоянию исходной базы данных на момент завершения резервной копии, за исключением незавершённых транзакций.
3.1.3. Восстановление из смешанных цепочек
При восстановлении базы данных из двух смешанных цепочек дифференциальных и инкрементальных резервных копий с развёртыванием (например, когда для одной базы данных резервное копирование выполнялось по двум правилам: дифференциального и инкрементального резервного копирования) необходимо восстановить все РК, с момента выполнения полной РК базы данных до выбранного момента восстановления базы данных из инкрементальной РК, по порядку ID резервных копий:
-
Предварительно очистите Каталог распаковки.
-
Восстановите полную резервную копию базы данных в выбранный Каталог распаковки БЕЗ восстановления на целевом ресурсе.
-
Все восстанавливаемые цепочки РК должны начинаться с одной и той же полной РК.
-
Восстановите дифференциальную резервную копию базы данных в выбранный Каталог распаковки БЕЗ восстановления на целевом ресурсе.
-
Запустите восстановление выбранной инкрементальной РК, указав тот же Каталог распаковки и активировав переключатель Восстановить на целевом ресурсе.
Таким образом будут восстановлены сначала полная РК, затем дифференциальная РК, а затем все журналы транзакций, созданные после дифференциальной резервной копии базы данных, в хронологическом порядке.
3.1.4. Восстановление БД в Always On availability groups
При восстановлении РК в кластере MS SQL Server (availability groups
) (например, состоящем из Primary
и Secondary
реплик):
-
Автоматическое развёртывание в каждую реплику кластера не поддерживается.
-
Выведите восстанавливаемую базу данных из
Always On availability group
на Primary реплике:ALTER AVAILABILITY GROUP [<Availability Group>] REMOVE DATABASE [<Database Name>]
-
Восстановите базу данных на
Primary
реплике, активировав переключатель Восстановить на целевом ресурсе. -
Восстановите базу данных на
Secondary
реплике, активировав переключатель Восстановить на целевом ресурсе и активировав переключательnorecovery
в тонких настройках восстановления модуля MS SQL. -
Добавьте базу данных в
Always On availability group
наPrimary
реплике:ALTER AVAILABILITY GROUP [<Availability Group>] ADD DATABASE [<Database Name>]
-
Присоедините базу данных в
Always On availability group
наSecondary
реплике:ALTER DATABASE <Database Name> SET HADR AVAILABILITY GROUP = <Availability Group>
3.2. VSS режим
При запуске задачи на восстановление базы данных из теневой копии:
-
Для полной замены базы данных
master
остановите службу SQL Server. -
Для восстановления РК без развёртывания деактивируйте переключатель Восстановить на целевом ресурсе.
Файлы РК будут консистентны и восстановлены только в указанный Каталог распаковки, и могут быть использованы для восстановления вручную путем копирования в нужные каталоги.
-
Для восстановления базы данных с развёртыванием активируйте переключатель Восстановить на целевом ресурсе:
-
Резервная копия перемещается из медиасервера на клиент резервного копирования в указанный Каталог распаковки.
-
Модуль MS SQL запрашивает восстановление базы данных у службы VSS.
-
VSS уведомляет SQL Writer о начале процесса восстановления базы данных из теневой копии.
-
SQL Writer замораживает файлы, которые будут восстановлены, и все операции ввода-вывода между MS SQL Server и базой данных, файлы которой будут восстановлены.
-
Файлы базы данных заменяются, путём копирования файлов из Каталога распаковки в оригинальные места.
-
Файлы размораживаются. MS SQL Server возвращается к нормальному режиму работы.
-
После восстановления Каталог распаковки очищается.
-
4. Описание работы с данными в RBM
4.1. РК для одного экземпляра по расписанию
Выполнение резервного копирования для одного экземпляра MS SQL Server по расписанию:
-
Запустите Менеджер Администратора RuBackup (RBM).
-
Авторизуйтесь с правами Администратора СРК.
-
Проверьте статус клиента РК, на котором развёрнут модуль MS SQL.
-
Создайте и настройте правило полного резервного копирования для создания плановых резервных копий любым способом:
-
в разделе Глобальное расписание, нажав кнопку Добавить и настроив создаваемое Правило;
-
в разделе Объекты, выбрав вкладку Правила и нажав кнопку Добавить;
Правило должно иметь статус
run
(запущено) для выполнения резервного копирования по расписанию.
-
-
В разделе Очередь задач отслеживайте статус выполненных и ход выполняемых задач резервного копирования.
В результате выполнения задачи резервная копия экземпляра будет перемещена в хранилище, а её метаданные доступны в разделе Репозиторий.
4.2. РК для кластера по расписанию
Выполнение резервного копирования для кластера MS SQL Server по расписанию:
-
Запустите Менеджер Администратора RuBackup (RBM).
-
Авторизуйтесь с правами Администратора СРК.
-
Проверьте статус клиента РК, на котором развёрнут модуль MS SQL.
-
Создайте и настройте последовательно:
-
стратегию полного резервного копирования для создания плановых резервных копий в разделе Стратегии, нажав кнопку Добавить;
-
правило стратегии для каждого экземпляра кластера в разделе Стратегии, выделив нужную стратегию и нажав кнопку Правила. Повторите создание правила для каждого экземпляра;
Правило должно иметь статус run
(запущено) для выполнения резервного копирования по расписанию. -
-
В разделе Очередь задач отслеживайте статус выполненных и ход выполняемых задач резервного копирования.
В результате выполнения задачи резервные копии экземпляров будут перемещены в хранилище, а их метаданные доступны в разделе Репозиторий.
4.3. Срочное РК
Срочное резервное копирование выполняется для одного экземпляра:
-
Запустите Менеджер Администратора RuBackup (RBM).
-
Авторизуйтесь с правами Администратора СРК.
-
Проверьте статус клиента РК, на котором развёрнут модуль MS SQL и резервируемый.
-
Выполните срочное резервное копирование любым способом:
-
быстрый доступ к функции срочного резервного копирования по нажатию на кнопку Срочное РК на верхней панели RBM;
-
в разделе Объекты, выделив клиента РК, который управляет резервным копированием ВМ, и нажав появившуюся кнопку Срочное РК;
-
-
Выполните настройку параметров резервного копирования (см. Тонкие настройки модуля при выполнении РК);
-
В разделе Очередь задач отслеживайте статус выполненных и ход выполняемых задач резервного копирования.
В результате выполнения задачи резервная копия экземпляра будет перемещена в хранилище, а её метаданные доступны в разделе Репозиторий.
4.4. Восстановление из РК
Для выполнения восстановления экземпляра из резервной копии:
-
Запустите Менеджер Администратора RuBackup (RBM).
-
Авторизуйтесь с правами Администратора СРК.
-
Проверьте статус клиента РК, на котором развёрнут модуль MS SQL и восстанавливаемый экземпляр.
-
В разделе Репозиторий выберите РК и нажмите кнопку Восстановить.
-
Выполните настройку параметров восстановления (см. Тонкие настройки модуля при восстановлении);
-
В разделе Очередь задач отслеживайте статус выполненных и ход выполняемых задач восстановления резервной копии;
В результате произведено восстановление удаленной или изменённой MS SQL Server до состояния, в котором она была на момент создания резервной копии.
5. Особенности настройки RBM для РК MS SQL Server
При выполнении любого сценария (при настройке правил, стратегий, восстановления из РК) следует в соответствующих полях указать следующие данные:
-
в поле Клиент выбрать из выпадающего списка имя клиента РК, на котором развёрнут клиент резервного копирования с модулем MS SQL и резервируемая локальная РСУБД MS SQL Server ;
-
в поле Тип ресурса выбрать из выпадающего списка SQL Server;
-
при необходимости произвести тонкую настройку модуля MS SQL;
-
в поле Ресурс выбрать резервируемый экземпляр или его базу данных;
-
в поле Тип РК выбрать «Полное», «Дифференциальное» или «Инкрементальное».