Восстановление ИБ из файлов MSSQL

Вчера ночью отключили электричество не предупредив меня, а у меня 1 из серверов находится в здании в котором отключили электричество. Сервак старый, месяц назад отвалился рэйд (бэкап на уровне железа), а через неделю винт на который создавался backup SQL базы. Менять сервак некогда, да и не купят его т.к. считают не важной информацию хранящуюся на нем. В результате сошлись на покупке только винта для резервных копий SQL, но не успели.

 

После включения электричества выяснилось: Windows Server 2003 не смог загрузится и поднял образ с января месяца, а с января месяца было заполнено и проведено около 150 документов и в каждом таблица примерно с 60 полями. Представляете лица сотрудников которые их вбивали.

После загрузки я заметил, что windows server создал виртуальные диски, с данными с которыми он не смог загрузится в первый раз.
В итоге что я имею, а точнее чего у меня нет:
— нету резервной копии sql
— нет актуальной выгрузки ИБ
— есть выгрузка последний версии конфигурации
— есть файловый вариант MSSQL, который находится в «Programs Files»

Что мне пришлось сделать чтобы восcтановить БД MSSQL 2005

  • отключил сервер 1С, что бы сотрудники не сидели и не пытались ее заново заполнить. Их Руководители могут заставить их делать.
  •  выключил все службы SQL Сервера (Панель управления — Администрирование — Службы), какие не скажу пишу из дома.
  • открыл папку «С:\Program Files\Microsoft SQL Server»
  • переименовал папки с именем MSSQL,MSSQL.1,MSSQL.2,MSSQL.3 в _MSSQL,_MSSQL.1,_MSSQL.2,_MSSQL.3
  • т.к. windows мне дал доступ к старым данным (т.е. которые были перед поднятием копии windows), я нашел эту же папку «H:\Program Files\Microsoft SQL Server» и скопировал MSSQL,MSSQL.1,MSSQL.2,MSSQL.3 в папку «С:\Program Files\Microsoft SQL Server».
  • Если не завершить службы mssql то он не даст доступа доже переименовать, почему думаю понятно.
  • запустил службы, запустил сервер 1С.
  • Проверил работу данной ИБ.
  • Проверил актуальность, как и думал оказалась свежая версия ИБ.
  • На свой ПК написал скрипт выполняющий резервное копирование при включении (описание ниже).

Скрипт для создания резервной копии:

«C:\Program Files\1cv81\bin\1cv8.exe» DESIGNER /S Server1\NameIB /N «Admin» /P «123456» /DumpIB E:\backup_1c\srv1_ib1_%date:~-10%.dt
Небольшое описание:

C:\Program Files\1cv81\bin\1cv8.exe — расположение исполняемого файла на моем пк
DESIGNER — режим Конфигуратор
Server1 — Имя сервера
NameIB — Кластер
Admin — пользователь
123456 — пароль
E:\backup_1c\srv1_ib1_%date:~-10%.dt — файл куда будет сохранятся

Создал bacup_1c.cmd, в него добавил данную строку и скопировал его в папку автозагрузки. Можно создать задачу в планировщике, но мне было удобнее в автозагрузку.
В итоге при включении у меня создается файл вида: srv1_ib1_25-05-12.dt (вроде так).

Скрипт не работает при следующих ситуациях (ошибок не выдает, просто закрывается):
— есть активные пользователи
— нет прав у пользователя под которым делается копия
— желательно не использовать русский алфавит
— нет сети, т.к. рассмотрен пример сетевой версии

При данных ограничениях я уверен что 1 или 2 копии в неделю будут сделаны.

 

Скриншот папки «С:\Program Files\Microsoft SQL Server»:

Небольшое описание сервера: Server 2003, SQL 2005, 1C 8.1 (сервер и клиент)

Аналогичная ситуация была примерно месяц назад, на служебном компьютере на котором была 1с (файловый вариант) «умер» жесткий диск и восстановлению не подлежит, в ближайшее время также напишу об этом.



comments powered by Disqus

Популярное