Резервное копирование и восстановление баз данных — различия между версиями

Материал из Oktell
Перейти к: навигация, поиск
м (Восстановление баз данных)
 
(не показано 17 промежуточных версии этого же участника)
Строка 1: Строка 1:
Необходимость сохранить базы данных настроенной системы перед переустановкой ОС на серверной машине, либо для переноса работающей серверной конфигурации на другую машину.
+
[[Практики|Наверх]]
 +
 
 +
__TOC__
 +
 
 +
 
 +
Необходимость сохранить базы данных настроенной системы возникает, как правило, перед переустановкой ОС на серверной машине, либо для переноса работающей серверной конфигурации на другую машину.
 +
 
 +
==Копирование баз данных==
 +
 
 +
Используемые базы данных делятся на две категории: 3 системные БД (oktell, oktell_cc_temp и oktell_settings) и БД для модулей веб-клиента Okapp. Для запуска Oktell после восстановления нужны только системные базы. Остальные БД нужны только, если вы хотите сохранить ваши настройки веб-модуля.
 +
<blockquote>
 +
Например, база WO_Module_journal используется модулем '''Журнал''' хранит в себе теги записей разговоров. База WO_Module_dashboards нужна для работы модуля Дашборды Okboard и содержит настройки используемых индикаторов.
 +
</blockquote>
 +
В любом случае, мы рекомендуем делать резервные копии всех баз данных, которые используются системой.
 +
 
 +
'''Шаг 1.''' Копии системных таблиц создаются автоматически каждый день, по умолчанию в 02:00 по серверному времени, если не отключен параметр [[Параметры файлов конфигурации#Параметры файла конфигурации серверного приложения|DBAutoDailyBackup]]. Создание копий происходит особым образом, оставляя копии
 +
* последние две недели - каждый день
 +
* далее три месяца - раз в неделю
 +
* далее два года - каждый месяц
 +
* далее раз в год
 +
Все копии находятся в папке \oktell\server\Backup, если не переопределено в параметре [[Параметры файлов конфигурации#Параметры файла конфигурации серверного приложения|DBBackupDir]].
 +
 
 +
В свою очередь, вы можете сделать резервные копии в любой момент. Для этого перейдите в ''Администрирование/Обшие настройки/Управление базами данных''. Нажмите кнопку '''Произвести резервное копирование БД'''.  
  
1. Зайдите в '''Администрирование''' -> [http://wiki.oktell.ru/%D0%9E%D0%B1%D1%89%D0%B8%D0%B5_%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B8 '''Обшие настройки'''] -> '''управление базами данных'''. Нажмите кнопку "'''Произвести резервное копирование БД'''".
 
  
 
[[Файл:бэк1.PNG |center]]
 
[[Файл:бэк1.PNG |center]]
  
Дождитесь окончания процедуры резервного копирования и зайдите в папку, где установлен oktell / server/backup. По умолчанию,  C:\Program Files\(x86)\oktell\Server\Backup
 
  
[[Файл:бэк2.PNG|center]]
+
После окончания резервного копирования созданные бэкапы будут доступны в корне папки ''oktell\server\backup''.
[[Файл:бэк3.PNG|center]]
+
 
 +
 
 +
<center>[[Файл:бэк2.PNG]][[Файл:бэк3.PNG]]</center>
 +
 
 +
 
 +
'''Шаг 2.''' Для созданий копий остальных баз данных откройте SQL Server Management Studio. Кликните правой кнопкой на нужной БД и в контекстном меню  выберите Задачи, затем '''Создать резервную копию'''. В открывшемся окне вы можете поменять путь для создания бэкапа, для начала копирования нажмите ОК. Копии по умолчанию создается в папке ''C:\Program Files\Microsoft SQL Server\MSSQL11.OKTELL\MSSQL\Backup\''.
 +
 
 +
 
 +
[[Файл:Резервное копирование и восстановление баз данных 020.png|center|1000px]]
 +
 
 +
 
 +
==Восстановление баз данных==
 +
 
 +
Восстановить базы данных можно только на такую же версию SQL-сервера или выше. Если базы были созданы на версии SQL Server 2008 R2, их нельзя восстановить на SQL Server 2008.
 +
 
 +
'''Шаг 1.''' Остановите службу oktellserver. Запустите командную строку с правами администратора и введите туда следующую строчку:
 +
 
 +
net stop oktellserver
  
2. Остановите службу Oktellserver. Запустите командную строку с правами администратора.
 
  
 
[[Файл:бэк4.PNG|center]]
 
[[Файл:бэк4.PNG|center]]
  
3. Запустите sql server management studio. По умолчанию, данные для входа следующие:
 
  
 +
'''Шаг 2.''' Запустите SQL Server Management Studio с учетной записью sa:
 
* Login: sa
 
* Login: sa
 
 
* Password: 123Oktell321
 
* Password: 123Oktell321
  
[[Файл:бэк5.PNG|center]]
+
'''Шаг 3.''' Если у вас есть ранее установленные базы данных Oktell, то их нужно удалить. Это касается системных БД и БД, используемых веб-модулями.
 +
 
 +
'''Шаг 4.''' Приступаем к процедуре восстановления. Нажмите правой кнопкой на System Database (Системные базы данных) и нажмите '''Restore Database''' (Восстановить резервную копию).
 +
 
 +
 
 +
<center>[[Файл:бэк6.PNG]]</center>
 +
 
 +
 
 +
Выберите файл с копией баз данных. Для этого выберите пункт Device (Устройство), в открывшемся окне Add (Добавить) и выберите ваш файл с резервной копией, например '''db_ok_130628.bak''' (в данном случае, это БД oktell).
 +
 
 +
 
 +
[[Файл:бэк8.PNG|center|1000px]]
 +
 
 +
 
 +
Наберите имя базы данных в верхней части окна, которую вы восстанавливаете. Название базы данных вы можете видеть в нижней части окна. Не забудьте поставить галочку '''Restore''' (Восстановить).
 +
 
 +
 
 +
[[Файл:бэк9.PNG|center|600px]]
 +
 
 +
 
 +
Повторите тоже самое с остальными базами данных.
 +
 
 +
 
 +
'''Шаг 5.''' После восстановления баз данных для полноценной работы необходимо создать пользователей базы данных. Для этого выполните скачайте и выполните следующий запрос.
 +
 
 +
[[Media:Восстановление базы данных.zip|Скачать файл '''Восстановление базы данных.zip''']]
 +
 
  
4. Удалите 3 базы данных:
+
'''Шаг 6.''' Если вы перенесли базу данных на сторонний сервер, то проверьте настройки в серверном конфигурационном файле ''\oktell\server\oktell.ServerService.exe.config''. Убедитесь что в строке с ключом DBConnectionString ссылка на базу данных, логин и пароль указаны верно. По умолчанию, строка подключения выглядит следующим образом:
* oktell  
+
  
* oktell_settings
+
server=(local)\OKTELL;database=oktell;uid=AutelService;pwd=[pwd];pooling=true
  
* oktell_cc_temp
 
  
[[Файл:бэк6.PNG|center]]
+
Новое название сервера нужно указать вместо значения ''(local)\OKTELL''. Например, SQL-сервер перенесен на сервер WORK с IP-адресом 192.168.0.3. Следовательно, в параметре вам нужно указать ''WORK\OKTELL''. Если сервер не запускается с этой настройкой, попробуйте указать только название сервера без инстанса — ''WORK''. Вместо названия сервера можно указать IP-адрес — ''192.168.0.3/OKTELL'' или только ''192.168.0.3''.  
  
5. Приступаем к процедуре восстановления. Нажмите правой кнопкой на System Database и нажмите Restore Database.
+
Если вы поменяли основную учетную запись AutelService, то необходимо указать новые логин и пароль в полях '''uid''' и '''pwd''' соответственно.
  
[[Файл:Бэк7.png |center]]
 
  
Выберите файл с копией баз данных. Для этого выберите пункт device, в открывшемся окне add и выберите ваш файл из папки backup, например db_ok_130628.bak (это база данных oktell).  
+
[[Файл:Серверная служба не запускается -003.png|center]]
  
[[Файл:бэк8.PNG|center]]
 
  
Наберите имя базы данных в верхней части окна, которую вы восстанавливаете. Название базы данных вы можете видеть в нижней части окна. Не забудьте поставить галочку Restore.  
+
Узнать название вашего сервера (инстанс) вы всегда можете с помощью команды
 +
sqlcmd.exe -L
 +
в командной строке Windows.  
  
[[Файл:бэк9.PNG|center]]
 
  
Повторите тоже самое с оставшимися базами данных.  
+
[[Файл:Серверная служба не запускается -004.png|center]]
  
[[Файл:бэка.PNG|center]]
 
  
В итоге, вид сервера баз данных должен содержать три бд:
 
  
[[Файл:бэкб.PNG|center]]
+
'''Шаг 7.'''  Запустите службу '''oktellserver'''. Для этого в командной строке выполните
 +
net start oktellserver
  
6. Запустите службу oktellserver
 
  
 
[[Файл:бэкв.PNG|center]]
 
[[Файл:бэкв.PNG|center]]

Текущая версия на 07:32, 16 мая 2023

Наверх


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

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

Используемые базы данных делятся на две категории: 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