Восстановление базы 1С из резервной копии: .dt, .1CD и SQL

· 9 мин

Содержание

Развернуть бэкап 1С можно тремя способами, и выбор зависит от того, что у вас лежит в архиве. Файл .dt загружают через Конфигуратор командой Администрирование → Загрузить информационную базу. Файл 1Cv8.1CD кладут в каталог файловой базы. Копию SQL-базы восстанавливают средствами СУБД и подключают к кластеру серверов.

Начните с расширения файла: оно сразу говорит, какой путь ваш. Ниже по порядку: определяем тип копии, готовим окружение, разворачиваем файловую и серверную базу , проверяем результат и разбираем ошибки.

Что за резервная копия у вас в руках

Три формата выглядят похоже, а восстанавливаются по-разному.

Что в архивеОткуда берётсяКак разворачивать
.dtВыгрузка из КонфигуратораЗагрузка через Конфигуратор в пустую или существующую базу
1Cv8.1CDКопия каталога файловой базыПодмена файла в каталоге базы
.bak или другой дамп СУБДРезервная копия SQL-сервераВосстановление в СУБД, затем подключение к кластеру

.dt переносимее всего. Его можно загрузить в файловую и в серверную базу, а структура данных пересоберётся при загрузке. Минус: выгрузка и загрузка идут долго, на крупной базе — часы.

Файл 1Cv8.1CD и дамп СУБД быстрее, но привязаны к своему формату хранения. Файловую копию нельзя “залить” в SQL-базу, и наоборот: между этими вариантами работает только .dt.

Если есть сомнения, что лежит в архиве, откройте его и посмотрите на имена файлов. Рядом с 1Cv8.1CD в каталоге файловой базы обычно лежит служебный файл 1Cv8.1CL и подкаталоги с журналом регистрации. Для переноса нужен именно 1Cv8.1CD, журнал регистрации можно не брать.

Подготовка: платформа, место, доступ

Перед развёртыванием проверьте четыре вещи, иначе потеряете время на ошибках.

  1. Версия платформы. Номер платформы на компьютере, где разворачиваете, должен быть не ниже того, на котором делали выгрузку. Базу с более новой платформы старая не откроет. Обратное допустимо: при первом запуске на новой платформе 1С предложит обновить структуру базы.
  2. Свободное место. Для .dt держите запас не меньше двух-трёх размеров самой базы: во время загрузки создаются временные данные. Для серверной базы место нужно и под файл данных, и под журнал транзакций СУБД.
  3. Права. Для Конфигуратора нужен пользователь с ролью администратора. Если пароль утерян, а копия ваша, разбирайтесь с этим до восстановления, иначе вы не сможете зайти в развёрнутую базу.
  4. Отсутствие пользователей в целевой базе. Загрузка .dt требует монопольного доступа: никто не должен работать в базе, куда вы загружаете.

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

Загрузка выгрузки .dt через Конфигуратор

Это самый частый случай. Делается в десктопном клиенте, не в веб-интерфейсе.

Создаём пустую базу

  1. В окне запуска 1С нажмите Добавить.
  2. Выберите Создание новой информационной базы, затем Создание информационной базы без конфигурации.
  3. Укажите имя и каталог (для файловой базы) или кластер (для серверной).

Пустая база без конфигурации — самый чистый вариант: из .dt приедет и конфигурация, и данные.

Загружаем файл

  1. Выберите созданную базу и нажмите Конфигуратор.
  2. Откройте меню Администрирование → Загрузить информационную базу.
  3. Укажите файл .dt и подтвердите замену данных.
  4. Дождитесь окончания. Окно может долго “висеть” без движения полосы, это нормально для большой базы.

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

Загрузка из командной строки

Для регулярных развёртываний, например тестовой копии каждую ночь, подойдёт пакетный режим Конфигуратора:

"C:\Program Files\1cv8\8.3.25.1445\bin\1cv8.exe" DESIGNER /F "D:\bases\test" /RestoreIB "D:\backup\base.dt" /Out "D:\backup\restore.log"

Номер платформы и пути подставьте свои. Ключ /F указывает файловую базу , ключ /Out пишет результат в журнал, который удобно читать после запуска. Для серверной базы вместо /F указывают /S "имя_сервера\имя_базы".

Команда перезаписывает данные в целевой базе. Проверьте путь после /F перед запуском: ошибка в одну букву, и вы затёрли не ту базу.

Файловая база: подмена 1Cv8.1CD

Если у вас копия каталога файловой базы, .dt не нужен. Но порядок действий важен.

  1. Убедитесь, что в базе никто не работает . Файл не должен быть открыт ни одним сеансом.
  2. Сохраните текущий файл 1Cv8.1CD под другим именем, не удаляйте.
  3. Скопируйте файл из бэкапа в каталог базы.
  4. Запустите 1С в режиме 1С:Предприятие.

Если копия снята без остановки работы пользователей, файл мог записаться на середине операции. Тогда он откроется с ошибкой или начнёт терять данные. Надёжная копия файловой базы делается при закрытых сеансах или через выгрузку в .dt.

Копировать файл на сетевой диск и открывать его оттуда — плохая идея: скорость упадёт в разы, а при обрыве связи база может повредиться. Работайте с локальным диском или сервером.

Серверная база: SQL-копия или .dt

Здесь два пути, и они не взаимозаменяемы.

Через .dt

Самый простой путь, если база небольшая или нужен перенос между разными СУБД. Создайте в кластере пустую базу и загрузите .dt тем же Конфигуратором. Для создания базы на сервере вам понадобятся права на СУБД, поэтому если вы не администратор сервера, попросите его создать пустую базу и дать имя.

Через копию СУБД

Быстрее для больших баз, но требует доступа к SQL-серверу.

  1. Восстановите резервную копию в СУБД как новую базу данных. Имя выберите такое, чтобы не пересеклось с рабочей.
  2. В консоли администрирования серверов 1С создайте информационную базу в кластере и укажите в ней имя уже восстановленной базы данных. Параметр создания базы в СУБД оставьте выключенным, иначе 1С создаст пустую базу поверх.
  3. Тип СУБД и параметры сервера укажите те же, что у исходной базы.
  4. Проверьте подключение: запустите клиент и откройте базу.

Перед тем как останавливать службы сервера 1С или завершать рабочие процессы, предупредите пользователей: сеансы оборвутся. Делайте это вне рабочего времени.

Версия СУБД на новом сервере не должна быть ниже версии на старом, иначе восстановить копию не получится. Это ограничение самой СУБД, а не 1С.

Какой путь выбрать, подскажет вопрос:

Что выбрать для серверной базы?

Долгая загрузка и большие базы

Загрузка .dt на базе в несколько десятков гигабайт может идти полдня. Несколько вещей реально влияют на скорость.

  • Диск. SSD вместо обычного жёсткого диска ускоряет загрузку в несколько раз. Разворачивайте на самом быстром носителе, который есть.
  • Антивирус. Добавьте каталог базы и временный каталог в исключения на время загрузки, иначе каждый файл проверяется на лету.
  • Место для временных файлов. Каталог временных файлов Windows часто лежит на системном диске. Если там мало места, загрузка оборвётся ближе к концу. Проверьте заранее.
  • Сеанс. Запускайте загрузку на самом сервере или через удалённый рабочий стол, а не с ноутбука по Wi-Fi: обрыв связи во время загрузки означает начать заново.

Если база огромная, а копия нужна часто, переходите на серверную схему с копиями СУБД. Восстановление средствами SQL-сервера занимает минуты там, где .dt занимает часы. Цена такого решения: нужен доступ к СУБД и копии должны делаться регулярно.

Перед запуском долгой загрузки заранее запишите время старта и размер файла. Тогда на следующий раз вы будете знать, сколько ждать, и не станете прерывать процесс, который просто идёт медленно.

Проверка после развёртывания

Не считайте работу законченной, когда база просто открылась. Пройдитесь по списку.

  1. Откройте базу под обычным пользователем, не только под администратором.
  2. Сравните ключевые цифры: остатки по кассе и банку, оборотно-сальдовая ведомость за последний закрытый период. Они должны совпасть с цифрами на дату копии.
  3. Посмотрите последние документы: проведены ли они, нет ли пустых списков.
  4. Сделайте в Конфигураторе Администрирование → Тестирование и исправление. Для первой проверки хватит режима проверки без исправления, он ничего не меняет и покажет проблемы в структуре.
  5. Если база из копии нужна для тестов, отключите в ней регламентные задания и обмены. Иначе тестовая копия может начать отправлять письма и забирать данные из рабочих систем.

Когда развернули копию рядом с рабочей базой, 1С при первом запуске может спросить, перемещена база или скопирована. Для копии выберите “скопирована”: так она не будет считаться той же базой, что и оригинал.

Если развёртывание не удалось

Чаще всего проблема в одной из причин ниже.

Диагностика: выберите симптом

Если после этого ошибка остаётся, запишите её точный текст и номер платформы. По ним найти причину проще, чем по описанию “не грузится”.

Как не разворачивать бэкап в панике

Лучшее развёртывание — то, которое вы уже репетировали. Раз в квартал берите свежую копию и разворачивайте её на тестовой машине. Заодно вы узнаете время восстановления и убедитесь, что файл вообще открывается.

Ещё три привычки, которые окупаются.

  • Храните копию в двух местах, минимум одно из них вне сервера.
  • Подписывайте файлы датой и версией платформы: через год никто не вспомнит, на чём делали выгрузку.
  • Записывайте в тот же каталог короткую заметку: из какой базы снято, кто делал, зачем.

Автоматизировать выгрузку можно планировщиком с командой /DumpIB в пакетном режиме Конфигуратора. Но ночное задание не заменяет проверку: файл, который ни разу не загружали, остаётся гипотезой, а не копией.

Частые вопросы

Можно ли загрузить .dt в базу другой конфигурации?
Нет. Если загружаете в базу с другой конфигурацией, она будет заменена конфигурацией из файла. Поэтому для загрузки берут пустую базу без конфигурации.
Сколько времени идёт развёртывание?
Зависит от размера и диска. Небольшая база в несколько сотен мегабайт загружается за минуты, база в десятки гигабайт — часами. Замена файла 1Cv8.1CD занимает столько, сколько копируется файл.
Нужна ли лицензия для развёртывания тестовой копии?
Да, платформа не запускает базу без лицензии. Исключение — учебная версия с ограничениями. Лицензию на тестовый сервер планируйте заранее.
Можно ли восстановить базу, если пароль администратора неизвестен?
Если копия ваша, обратитесь к тому, кто её делал, или восстановите более раннюю копию с известным паролем. Не пытайтесь обходить защиту.
Почему база после загрузки стала больше или меньше?
При загрузке .dt данные записываются заново, без накопленного “мусора” старого файла. Размер может заметно уменьшиться, это не потеря данных.