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

Материал из Oktell
Перейти к: навигация, поиск

Наверх


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

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

Используемые базы данных делятся на две категории: 3 системные БД (oktell, oktell_cc_temp и oktell_settings) и БД для модулей веб-клиента Okapp. Для запуска Oktell после восстановления нужны только системные базы. Остальные БД нужны только, если вы хотите сохранить ваши настройки веб-модуля.

Например, база WO_Module_journal используется модулем Журнал хранит в себе теги записей разговоров. База WO_Module_dashboards нужна для работы модуля Дашборды Okboard и содержит настройки используемых индикаторов.

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

Шаг 1. Копии системных таблиц создаются автоматически каждый день, по умолчанию в 02:00 по серверному времени, если не отключен параметр DBAutoDailyBackup. Создание копий происходит особым образом, оставляя копии

  • последние две недели - каждый день
  • далее три месяца - раз в неделю
  • далее два года - каждый месяц
  • далее раз в год

Все копии находятся в папке \oktell\server\Backup, если не переопределено в параметре DBBackupDir.

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


Бэк1.PNG


После окончания резервного копирования созданные бэкапы будут доступны в корне папки oktell\server\backup.


Бэк2.PNGБэк3.PNG


Шаг 2. Для созданий копий остальных баз данных откройте SQL Server Management Studio. Кликните правой кнопкой на нужной БД и в контекстном меню выберите Задачи, затем Создать резервную копию. В открывшемся окне вы можете поменять путь для создания бэкапа, для начала копирования нажмите ОК. Копии по умолчанию создается в папке C:\Program Files\Microsoft SQL Server\MSSQL11.OKTELL\MSSQL\Backup\.


Резервное копирование и восстановление баз данных 020.png


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

Восстановить базы данных можно только на такую же версию SQL-сервера или выше. Если базы были созданы на версии SQL Server 2008 R2, их нельзя восстановить на SQL Server 2008.

Шаг 1. Остановите службу oktellserver. Запустите командную строку с правами администратора и введите туда следующую строчку:

net stop oktellserver


Бэк4.PNG


Шаг 2. Запустите SQL Server Management Studio с учетной записью sa:

  • Login: sa
  • Password: 123Oktell321

Шаг 3. Если у вас есть ранее установленные базы данных Oktell, то их нужно удалить. Это касается системных БД и БД, используемых веб-модулями.

Шаг 4. Приступаем к процедуре восстановления. Нажмите правой кнопкой на System Database (Системные базы данных) и нажмите Restore Database (Восстановить резервную копию).


Бэк6.PNG


Выберите файл с копией баз данных. Для этого выберите пункт Device (Устройство), в открывшемся окне Add (Добавить) и выберите ваш файл с резервной копией, например db_ok_130628.bak (в данном случае, это БД oktell).


Бэк8.PNG


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


Бэк9.PNG


Повторите тоже самое с остальными базами данных.


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

Скачать файл Восстановление базы данных.zip


Шаг 6. Если вы перенесли базу данных на сторонний сервер, то проверьте настройки в серверном конфигурационном файле \oktell\server\oktell.ServerService.exe.config. Убедитесь что в строке с ключом DBConnectionString ссылка на базу данных, логин и пароль указаны верно. По умолчанию, строка подключения выглядит следующим образом:

server=(local)\OKTELL;database=oktell;uid=AutelService;pwd=[pwd];pooling=true


Новое название сервера нужно указать вместо значения (local)\OKTELL. Например, SQL-сервер перенесен на сервер WORK с IP-адресом 192.168.0.3. Следовательно, в параметре вам нужно указать WORK\OKTELL. Если сервер не запускается с этой настройкой, попробуйте указать только название сервера без инстанса — WORK. Вместо названия сервера можно указать IP-адрес — 192.168.0.3/OKTELL или только 192.168.0.3.

Если вы поменяли основную учетную запись AutelService, то необходимо указать новые логин и пароль в полях uid и pwd соответственно.


Серверная служба не запускается -003.png


Узнать название вашего сервера (инстанс) вы всегда можете с помощью команды

sqlcmd.exe -L 

в командной строке Windows.


Серверная служба не запускается -004.png


Шаг 7. Запустите службу oktellserver. Для этого в командной строке выполните

net start oktellserver


Бэкв.PNG