Куда 1С сохраняет резервную копию базы перед обновлением и как её найти

· 9 мин

Содержание

Бэкап при обновлении 1С хранится там, куда его направили в помощнике обновления: в поле с каталогом на шаге резервного копирования (Администрирование → Интернет-поддержка и сервисы → Обновление версии программы). Если выбрали «временную» копию, после успешного обновления её уже нет. Обновление через Конфигуратор и установка новой платформы копию данных не создают вовсе: что не выгрузили вручную, того и нет.

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

Что копирует 1С сама, а что нет: три способа обновления

Первое, что нужно понять: «автоматический бэкап» есть не везде. Всё зависит от того, чем именно обновляли.

Чем обновлялиСоздаётся ли копия данныхГде искать
Помощник «Обновление версии программы» в самой программе (файловая база)Да, если на шаге резервного копирования не выбрали отказКаталог, указанный в помощнике
Конфигуратор: обновление из файла .cfu или .cfНетТолько там, куда вы сами выгрузили .dt
Установка новой версии платформыНет, данные базы не трогаютсяСтарая платформа остаётся в своей папке
Пакетное обновление сторонними утилитамиЗависит от настроек утилитыВ её настройках и журнале

💾 Помощник обновления встроен в типовые конфигурации на БСП: Бухгалтерию 3.0, ЗУП 3.1, УТ 11 и другие. Путь к нему в этих программах одинаковый.

🛠 Конфигуратор сам по себе ничего не сохраняет. Пункт обновления конфигурации на поддержке просто сравнивает и объединяет, а потом обновляет структуру базы.

🧩 Установщик платформы ставит новую версию рядом со старой. Ваши базы при этом не копируются и не изменяются.

Бэкап файловой базы: куда помощник кладёт копию

Помощник обновления на шаге резервного копирования предлагает три варианта:

  1. Не создавать резервную копию. Тогда искать нечего.
  2. Создать временную резервную копию. Она нужна только для отката, если обновление упадёт. При успешном завершении копия удаляется.
  3. Создать резервную копию и сохранить в каталог. Под этим вариантом есть поле с путём, его можно поменять кнопкой выбора папки.

Если помнить, какой вариант был выбран, нельзя — откройте помощник ещё раз и дойдите до этого шага. Программа запоминает последние настройки, и в поле каталога вы увидите путь, использованный в прошлый раз. Само обновление при этом запускать не нужно: просто закройте окно.

Рядом с выбором копии есть флажок отката при нештатной ситуации. Он работает только при созданной копии: без неё откатывать не из чего.

Регулярное резервное копирование в файловой базе

Кроме помощника обновления, в типовых конфигурациях есть отдельная обработка: Администрирование → Обслуживание → Резервное копирование и восстановление. В ней задают расписание, каталог и число хранимых копий.

Её копии тоже годятся для отката после неудачного обновления. Каталог виден прямо в форме настройки. Копия — это архив, внутри которого лежит файл базы 1Cv8.1CD.

Копия, которую делают руками

Самый надёжный вариант перед обновлением — выгрузка в .dt из Конфигуратора: Администрирование → Выгрузить информационную базу. Файл попадёт ровно туда, куда вы указали в окне сохранения.

Второй ручной способ для файловой базы — просто скопировать папку базы целиком, пока в ней никто не работает . Главный файл в ней — 1Cv8.1CD.

Серверная база: где лежат резервные копии в клиент-серверном режиме

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

Где искать в зависимости от СУБД:

СУБДГде обычно лежат копииКак проверить
Microsoft SQL ServerКаталог резервных копий экземпляра, по умолчанию C:\Program Files\Microsoft SQL Server\MSSQL<номер>.<имя экземпляра>\MSSQL\BackupВ Management Studio: свойства сервера → «Параметры баз данных» → расположение резервных копий
PostgreSQLТам, куда писал pg_dump в команде или скрипте; каталога по умолчанию нетСкрипты в планировщике заданий, cron, задания агента бэкапа
Выгрузка .dt из КонфигуратораКуда указал администраторЖурнал регистрации базы, история файлов на сервере

Узнать, когда и куда SQL Server делал копию конкретной базы, можно запросом к системной базе msdb:

SELECT
    bs.database_name,
    bs.backup_finish_date,
    bmf.physical_device_name
FROM msdb.dbo.backupset AS bs
JOIN msdb.dbo.backupmediafamily AS bmf
    ON bs.media_set_id = bmf.media_set_id
WHERE bs.database_name = 'ИмяБазыВСУБД'
ORDER BY bs.backup_finish_date DESC;

В колонке physical_device_name будет полный путь к файлу .bak. Имя базы в СУБД смотрите в консоли кластера 1С, в свойствах информационной базы, поле с именем базы данных.

Если копии в msdb за день обновления нет, значит, перед обновлением её никто не сделал. Ищите ближайшую плановую копию и прикидывайте, сколько данных придётся довводить.

Обновили платформу: что остаётся от прежней версии

При установке новой версии платформы «бэкапом» можно считать только саму старую версию. Она остаётся в своей папке:

  • 📁 64-разрядная платформа: C:\Program Files\1cv8\8.3.xx.xxxx\
  • 📁 32-разрядная платформа: C:\Program Files (x86)\1cv8\8.3.xx.xxxx\

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

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

Как найти потерянную резервную копию на диске

Если путь не помните и в помощнике он уже другой, ищите по типам файлов и дате. Резервные копии 1С бывают трёх видов:

  • 📦 .dt — выгрузка базы из Конфигуратора;
  • 🗜 .zip — архивы из обработки резервного копирования, внутри 1Cv8.1CD;
  • 🗄 .bak — копии SQL Server.

Удобнее всего искать через PowerShell. Команда ниже покажет все такие файлы на диске C:, изменённые за последние 14 дней, от новых к старым:

Get-ChildItem -Path C:\ -Recurse -Include *.dt,*.bak,*.1CD,*.zip -ErrorAction SilentlyContinue |
    Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-14) } |
    Sort-Object LastWriteTime -Descending |
    Select-Object FullName, Length, LastWriteTime

Поменяйте C:\ на другой диск, если базы живут на D: или сетевом ресурсе. Архивов .zip на компьютере много, поэтому смотрите на размер: копия базы весит примерно столько же, сколько папка с базой, или чуть меньше из-за сжатия.

Где ещё стоит посмотреть:

  • 📂 рядом с папкой самой базы — туда копии часто кладут по привычке;
  • 📂 в «Документах» пользователя, который запускал обновление;
  • 📂 на сетевых дисках и в облачных папках, если копирование настраивал администратор;
  • 📂 во временной папке пользователя %TEMP% — если обновление прервалось, временная копия могла остаться.

Не помните, где лежит сама база? Список баз из окна запуска хранится в файле %APPDATA%\1C\1CEStart\ibases.v8i. Откройте его Блокнотом: в строке Connect=File= указан путь к файловой базе, а в Connect=Srvr= — сервер и имя серверной базы.

Какая у вас база и как обновляли?

Куда сохранять копии: настройка каталога заранее

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

  1. В помощнике обновления выберите вариант с сохранением в каталог и укажите постоянную папку, например D:\1C_Backup\Обновления\.
  2. В обработке Резервное копирование и восстановление настройте автоматическое копирование по расписанию в соседнюю папку, например D:\1C_Backup\Плановые\, и задайте, сколько копий хранить.
  3. Для серверной базы настройте план обслуживания в SQL Server или задание с pg_dump в PostgreSQL. Каталог укажите явно.
  4. Раз в неделю переносите копии на другой носитель или в облако. Копия на том же диске, что и база, не спасёт при отказе диска.

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

Удобно давать файлам говорящие имена: Бухгалтерия_до_обновления_3.0.xxx.dt. Через полгода такая подпись сэкономит поиск, особенно когда баз несколько.

СпособЧто сохраняетКогда подходитМинус
Выгрузка .dtКонфигурацию и все данныеПеред любым обновлением, для переноса базыДолго на больших базах, нужен монопольный доступ
Копия папки / архив 1Cv8.1CDФайловую базу целикомФайловые базы, плановое копированиеНельзя делать, пока в базе работают
Бэкап СУБД (.bak, дамп)Серверную базу целикомКлиент-серверный режимНужен доступ к серверу СУБД
Сохранение конфигурации в .cfТолько конфигурацию, без данныхЧтобы вернуть доработкиДанные не восстановит

Откат после неудачного обновления: восстановление из копии

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

Перед восстановлением предупредите пользователей и закройте все сеансы. Текущую «сломанную» базу не удаляйте — сохраните её отдельно, она может пригодиться для переноса документов, введённых после бэкапа.

Из файла .dt

  1. Запустите базу в режиме Конфигуратора.
  2. Выберите Администрирование → Загрузить информационную базу.
  3. Укажите файл .dt и подтвердите загрузку.

Загрузка требует монопольного доступа и полностью заменяет конфигурацию и данные. После неё Конфигуратор предложит перезапуститься.

Из архива файловой базы

  1. Закройте все сеансы базы.
  2. Переименуйте текущий файл 1Cv8.1CD в папке базы, например в 1Cv8_after_update.1CD.
  3. Распакуйте из архива файл 1Cv8.1CD и положите его в папку базы.
  4. Запустите базу и проверьте последние документы.

Если копия сделана обработкой резервного копирования, восстановить можно и из неё самой: в той же форме Резервное копирование и восстановление есть команда восстановления. Она сама закроет сеанс и заменит файл.

Из копии СУБД

Серверную базу восстанавливают средствами СУБД: в SQL Server — через Management Studio, восстановлением базы из файла .bak поверх существующей; в PostgreSQL — через pg_restore или psql, в зависимости от формата дампа. Перед этим заблокируйте начало сеансов в свойствах базы в консоли кластера. После восстановления версия конфигурации вернётся к той, что была на момент копии.

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

Сколько места занимает резервная копия базы 1С?
Выгрузка .dt и архив файловой базы обычно заметно меньше самого файла 1Cv8.1CD за счёт сжатия. Копия SQL Server без сжатия весит примерно как сама база.
Можно ли откатить только конфигурацию, не трогая данные?
Через загрузку конфигурации из .cf можно вернуть старую конфигурацию, но новые реквизиты и таблицы, созданные обновлением, при этом удалятся вместе с данными в них. Надёжнее восстановить базу из копии целиком и заново ввести документы.
Почему помощник обновления не предлагает создать копию?
Так бывает в клиент-серверной базе: программа считает, что копию должна делать СУБД. В файловой базе этот шаг есть всегда.
Удаляются ли старые резервные копии автоматически?
Копии из помощника обновления, сохранённые в каталог, сами не удаляются. Обработка планового копирования удаляет старые копии по заданному в ней правилу хранения.
Хранит ли копии база в облаке 1С:Фреш?
В сервисе копии создаёт сам сервис по своему графику, а не помощник обновления. Локальных файлов на вашем компьютере при этом нет: доступ к копиям — через менеджер сервиса или поддержку провайдера.