Резервное копирование MS SQL: пара полезных функций Commvault, про которые не все знают

Резервное копирование MS SQL: пара полезных функций Commvault, про которые не все знают
Сегодня расскажу про две возможности Commvault для резервного копирования MS SQL, которые незаслуженно обходят стороной: гранулярное восстановление и плагин Commvault для SQL Management Studio.  Базовые моменты настройки рассматривать не буду. Пост скорее для тех, кто уже умеет устанавливать агент, настраивать расписание, политики и пр. О том, как устроен Commvault и что он умеет, рассказывал в этом посте.

Гранулярное восстановление

Опция table level restore появилась в свойствах Subclient  относительно недавно. Она позволяет включить возможность восстановления таблиц из базы данных, при этом не восстанавливая из бэкапа всю базу данных. Это удобно, когда знаешь, где конкретно ошибка или потеря данных. При этом сама база большая и восстанавливать ее всю займет много времени.
Резервное копирование MS SQL: пара полезных функций Commvault, про которые не все знают

У этой опции есть ограничения:
— Таблицы нельзя восстановить в исходную базу данных, только в другую.  
— Все таблицы восстанавливаются в схему dbo. Таблицу нельзя восстановить в пользовательскую схему.
— Поддерживается только локальная учетная запись SQL-сервера с правами системного администратора.
— Целевой сервер, куда восстанавливаем таблицу, должен работать на ОС Windows.
— На целевом сервере, помимо агента SQL, должны быть установлены Media Agent и Java Runtime Environment.
— База данных должна использовать Recovery model в режиме Full.
— Если включена опция гранулярного восстановления БД, пропадает возможность запускать задания на дифференциальное резервное копирование.  

Резервное копирование MS SQL: пара полезных функций Commvault, про которые не все знают
Опция table-level-restore выключена.

Резервное копирование MS SQL: пара полезных функций Commvault, про которые не все знают
Опция table-level-restore выключена.

В моей практике был случай, когда у клиента для SQL-сервера было настроено следующее расписание: один полный бэкап раз в неделю и 6 дифференциальных бэкапов в будние дни. Он включил функцию table-level-restore, и задания на дифференциальный бэкап отрабатывались с ошибкой.

Посмотрим, как же будет выглядеть само восстановление.
1. Запускаем восстановление на нужном агенте.
Резервное копирование MS SQL: пара полезных функций Commvault, про которые не все знают

2. В появившемся окне переходим во вкладку Advanced Options. Выбираем SQL Granular Browse — View Content.
Резервное копирование MS SQL: пара полезных функций Commvault, про которые не все знают

3. В открывшемся списке выбираем базу, из которой будем восстанавливать таблицу, и нажимаем Restore Granular.
Резервное копирование MS SQL: пара полезных функций Commvault, про которые не все знают

4. В диалоговом окне настраиваем точку монтирования базы данных из файлов резервного копирования (что-то вроде технологии Instant Recovery).
Указываем:

  • имя для временной базы данных;
  • как долго держать данную точку восстановления в днях;
  • сервер, куда мы будем монтировать базу данных. В списке будут доступны только сервера, выполняющие все необходимые условия, про которые говорил выше: c ОС Windows, установленными Media Agent и Java Runtime Environment и пр.

Нажимаем ОК.
Резервное копирование MS SQL: пара полезных функций Commvault, про которые не все знают

5. В новом окне нажимаем на List Recovery Points.
Резервное копирование MS SQL: пара полезных функций Commvault, про которые не все знают

6. Откроется список примонтированных точек восстановления. Если база данных большая, то придется подождать. Затем нажимаем Browse. Появится окно для просмотра таблиц из выбранной базы данных.
Резервное копирование MS SQL: пара полезных функций Commvault, про которые не все знают

Пока формируется список, часто диалоговое Recovery Points закрывают, а потом не могут туда вернуться снова. Все просто: кликните правой кнопкой по инстансу SQL-сервера, где был запущен процесс монтирования точки восстановления. Перейдите в All Tasks и выберите List Recovery Points.
Резервное копирование MS SQL: пара полезных функций Commvault, про которые не все знают

7. Если таблиц много, для их отображения может потребоваться некоторое время. Например, для базы данных на 40 ГБ список формируется минут десять. Выбираем нужную таблицу, нажимаем Recover All Selected.
Резервное копирование MS SQL: пара полезных функций Commvault, про которые не все знают

8. В новом окне выбираем базу, куда будем восстанавливать таблицу(ы). В нашем случае — это база GPI TEST.
Резервное копирование MS SQL: пара полезных функций Commvault, про которые не все знают

9. После завершения восстановления в базе GPI TEST появятся выбранные таблицы.
Резервное копирование MS SQL: пара полезных функций Commvault, про которые не все знают

После восстановления таблицы во временную базу данных ее можно перенести в исходную базу данных средствами Management Studio.

Plug-in от Commvault для SQL Management Studio

Администраторы баз данных не всегда имеют доступ в систему резервного копирования (СРК). Иногда нужно сделать что-то срочно, а администратора СРК нет на месте. С помощью плагина Commvault  для SQL Management Studio администратор БД сможет выполнить базовые действия по резервному копированию и восстановлению данных.

QL Management Studio Version

Command

SQL 2008 R2

CvSQLAddInConfig.exe /i 10 /r

SQL 2012

CvSQLAddInConfig.exe /i 11 /r

SQL 2014

CvSQLAddInConfig.exe /i 12 /r

SQL 2016

CvSQLAddInConfig.exe /i 13 /r

SQL 2017

CvSQLAddInConfig.exe /i 14 /r

Версии SQL-серверов, которые поддерживают Commvault Plug-in и команды, которые активируют работу плагина. Плагин поддерживается только на 64-битной версии ОС Windows.

1. Выполняем команду, которая соответствует нашей версии SQL server:
Резервное копирование MS SQL: пара полезных функций Commvault, про которые не все знают

2. Теперь в Management Studio стали доступны опции по резервному копированию и восстановлению. Для этого нужно кликнуть правой кнопкой мыши на нужную базу данных.
У администратора, таким образом, появилась возможность напрямую взаимодействовать с резервными копиями данной базы данных без консоли Commvault и обращений к администратору СРК.
Резервное копирование MS SQL: пара полезных функций Commvault, про которые не все знают

3. При запуске любой из доступных функций данного меню появится окно с запросом логина и пароля. Для подключения к CommServe используется SSO или же любая другая учетная запись из раздела Security в Commserve (Commcell login).
Резервное копирование MS SQL: пара полезных функций Commvault, про которые не все знают

Резервное копирование MS SQL: пара полезных функций Commvault, про которые не все знают

4. Если учетные данные были введены правильно и прав доступа хватает, администратор БД может:
— запустить внеочередное резервное копирование (Backup);
— восстановить базу из бэкапа (Restore);
— просмотреть историю выполненных заданий (View History) и прогресс по заданиям в процессе выполнения (Job monitor).
Резервное копирование MS SQL: пара полезных функций Commvault, про которые не все знают
Вот так  в Management Studio выглядит история выполненных заданий резервного копирования по выбранной базе данных.

Резервное копирование MS SQL: пара полезных функций Commvault, про которые не все знают
Меню для восстановления базы данных. Оно даже не отличается от меню консоли.

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

Источник: documentation.commvault.com

Источник: habr.com