Резервное копирование базы данных

Система Docsvision сохраняет информацию о карточках в SQL базе данных. Чтобы защитить данные от повреждения, удаления и в других случаях можно создать резервную копию БД. В данном разделе приведена инструкция по резервному копированию баз данных Microsoft SQL Server Management Studio и PostgreSQL, а также инструкция по переносу БД на другой сервер

При восстановлении БД из резервной копии под другим именем обратите внимание на рекомендации в пункте Рекомендации при переименовании базы данных.

Microsoft SQL Server Management Studio

Создание резервной копии БД Microsoft SQL Server Management Studio

При восстановлении основной БД также нужно восстанавливать сателлитные БД.
  1. Откройте Microsoft SQL Server Management Studio.

  2. Подключитесь к серверу БД, указав учётные данные.

  3. Найдите БД, для которой требуется создать резервную копию в списке баз данных.

  4. Нажмите правой кнопкой на базу данных, выберите Задачи > Создать резервную копию.

  5. Выберите желаемые настройки резервного копирования и нажмите ОК.

Восстановление БД из резервной копии Microsoft SQL Server Management Studio

При создании резервной копии основной БД также нужно создать резервные копии сателлитных БД.
  1. Откройте Microsoft SQL Server Management Studio.

  2. В списке доступных баз данных выберите БД, которую нужно восстановить и вызовите контекстное меню правой кнопкой мыши.

  3. Выберите Задачи > Отсоединить.

  4. В появившемся окне поставьте флаг в колонке Удалить соединения и нажмите ОК.

  5. Затем, в главном меню Microsoft SQL Server Management Studio поднимитесь вверх, наведите курсор на папку Базы данных и вызовите контекстное меню правой кнопкой мыши.

  6. В контекстном меню выберите Восстановить базу данных.

  7. Напротив слов База данных в раскрывающемся списке выберите БД, которую необходимо восстановить.

  8. Затем выберите нужные настройки и нажмите ОК.

Подробнее о создании резервных копий в Microsoft SQL Server Management Studio можно почитать на сайте Docs.Microsoft.com.

Postgres SQL

Создание резервной копии БД Postgres SQL

При восстановлении основной БД также нужно восстанавливать сателлитные БД.

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

Базовый синтаксис для запуска резервного копирования при помощи pg_dump следующий:

pg_dump имя_базы > файл_дампа
Команду резервного копирования обычно требуется запускать с правами суперпользователя

Чтобы указать адрес сервера БД для резервного копирования можно использовать параметры -h сервер и -p порт. По умолчанию pg_dump использует в качестве сервера localhost или значения переменных среды: PGHOST для адреса сервера и PGPORT для порта. Когда переменные не указаны, используются значения, указанные во время компиляции.

В качестве учётных данных для подключения к БД pg_dump использует имя пользователя текущего пользователя операционной системы. Передать учётные данные, отличающиеся от текущих можно при помощи параметра -U пользователь. Для указания учётных данных можно также использовать переменную среды PGUSER.

Восстановление из резервной копии БД Postgres SQL

При создании резервной копии основной БД также нужно создать резервные копии сателлитных БД.
Чтобы восстановить БД PostgreSQL из резервной копии при помощи можно использовать утилиту psql со следующим синтаксисом:
psql имя_базы < файл_дампа

В данном случае файл дампа — это созданная ранее при помощи pg_dump резервная копия.

Утилита psql принимает те же параметры для указания сервера, порта и учётных данных, что и pg_dump.

Подробнее о создании резервных копий в PostgreSQL можно почитать по ссылкам: PostgresPro, Хабр.

Перенос БД на другой сервер

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

  1. Создайте резервную копию базы данных на текущем сервере БД (исходный сервер) согласно инструкции для Microsoft SQL Server Management Studio или PostgreSQL.

  2. Остановите службу Workflow на сервере для переноса БД (целевом сервере).

  3. Восстановите БД из резервной копии на целевом SQL-сервере.

  4. Очистите таблицу B4A2559B-45FD-4ABA-919F-0F170CCDDB5D от настроек исходного сервера.

  5. Очистите таблицу dvsys_sessions от старых сессий.

  6. Актуализируйте значения в таблице dvsys_settings. Убедитесь, что в таблице отсутствуют неправильные адреса.

  7. Запустите службу Workflow на целевом сервере.

  8. Запустите Консоль настройки Docsvision на целевом сервере.

  9. Проверьте текущие настройки и выполните недостающие настройки, если необходимо.

  10. Запустите консоль настройки Web-клиент. Актуализируйте адрес подключения и базы данных.

  11. На компьютере с серверными частями модулей откройте редактор реестра. В редакторе реестра перейдите на ветку HKEY_LOCAL_MACHINE\SOFTWARE\DocsVision\Workflow\5.5 и убедитесь, что ссылки на другие серверы отсутствуют. Вам нужно проверить параметры: SiteUrl и SoapServiceUrl.

Важная информация при создании резервных копий БД

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

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

Восстанавливать БД на SQL сервере и подключать на сервере приложений обязательно под другим именем. Несоблюдение этого требования приведёт к проблемам в работе службы Docsvision 5.5 Workflow Server.

Особенности восстановления резервных копий с сателлитами

Сателлитные БД автоматически получают свои имена на основе имени главной БД. Все синонимы генерируются сразу с этими именами.

  • При переносе основной БД на другой SQL сервер обязательно потребуются также копии всех сателлитов.

  • При восстановлении копии БД на том же сервере SQL с переименованием также необходимо восстановить копии сателлитов с соответствующим переименованием.

  • Использование одного сателлита несколькими базами недопустимо. Данный режим не предусмотрен системой и может привести к некорректной работе.

  • При резервном копировании БД Docsvision также следует создавать резервные копии сателлитных баз данных (если используются): _Archive (обязательно), _Metadata (рекомендуется) и _Log (необязательно).

  • При переносе резервной копии БД на другой сервер обязательно потребуются также копии всех сателлитных БД.

  • При восстановлении копии БД на том же сервере SQL с переименованием также необходимо восстановить копии сателлитных БД с таким же переименованием.