Восстановление базы данных SQL с поврежденного носителя.

ВОПРОС:  Иногда происходит так, что жесткий диск компьютера повреждается, вследствие чего происходит повреждение базы 1C находящейся на нем. В случае если повреждение диска носит небольшой размер, можно ли восстановить работоспособность базы? И что же делать, если база находится на сервере Microsoft SQL Server?

ОТВЕТ:

Для баз в файловом режиме:

  1. Копируем базу на другой компьютер, на котором установлена 1С. Если простое копирование не работает, то используем любую программу для копирования информации с поврежденных носителей, например Super Copy, Non-Stop Copy и т.п.

  2. Для файловых баз есть утилита checkdb расположенная в папке bin каталога установки 1С. Для восстановления необходимо запустить данную утилиту и указать в ней скопированную базу данных.

Для баз расположенных на сервере Microsoft SQL Server:

  1. Копируем базу SQL на другой компьютер, на котором установлен сервер SQL.

  2. Подключаем скопированную базу к серверу SQL, используя SQL Server Management Studio.

  3. После этого создаём новый запрос к подключенной базе, для этого щелкаем правой клавишей мыши на нашей базе и выбираем пункт «Создать запрос».

  4. В появившемся окне вводим следующую команду «DBCC CHECKD (database_name, REPAIR_ALLOW_DATA_LOSS)» где database_name имя нашей базы. Выполняем данный запрос.

  5. После выполнения данного запроса, смотрим, какие ошибки были выявлены, в процессе тестирования, повторяем эту операцию пока не будут исправлены все ошибки.

  6. После всех этих действий подключаем отремонтированную базу на сервере 1С, и пытаемся подключиться через конфигуратор. Если подключение было успешным -  делаем копию базы, если все проходит успешно - это значит, что нарушений целостности данных нет.

  7. Запускаем базу в пользовательском режиме, смотрим, какие данные были потеряны.

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