Куда 1С сохраняет резервную копию базы перед обновлением и как её найти
Содержание
Бэкап при обновлении 1С хранится там, куда его направили в помощнике обновления: в поле с каталогом на шаге резервного копирования (Администрирование → Интернет-поддержка и сервисы → Обновление версии программы). Если выбрали «временную» копию, после успешного обновления её уже нет. Обновление через Конфигуратор
и установка новой платформы копию данных не создают вовсе: что не выгрузили вручную, того и нет.
Ситуация обычно такая: обновление прошло криво, база ведёт себя странно, а где лежит копия — никто не помнит. Ниже разобраны все места, где она может оказаться, по способу обновления и режиму работы базы, плюс как её найти и откатиться.
Что копирует 1С сама, а что нет: три способа обновления
Первое, что нужно понять: «автоматический бэкап» есть не везде. Всё зависит от того, чем именно обновляли.
| Чем обновляли | Создаётся ли копия данных | Где искать |
|---|---|---|
| Помощник «Обновление версии программы» в самой программе (файловая база) | Да, если на шаге резервного копирования не выбрали отказ | Каталог, указанный в помощнике |
Конфигуратор: обновление из файла .cfu или .cf | Нет | Только там, куда вы сами выгрузили .dt |
| Установка новой версии платформы | Нет, данные базы не трогаются | Старая платформа остаётся в своей папке |
| Пакетное обновление сторонними утилитами | Зависит от настроек утилиты | В её настройках и журнале |
💾 Помощник обновления встроен в типовые конфигурации на БСП: Бухгалтерию 3.0, ЗУП 3.1, УТ 11 и другие. Путь к нему в этих программах одинаковый.
🛠 Конфигуратор сам по себе ничего не сохраняет. Пункт обновления конфигурации на поддержке просто сравнивает и объединяет, а потом обновляет структуру базы.
🧩 Установщик платформы ставит новую версию рядом со старой. Ваши базы при этом не копируются и не изменяются.
Бэкап файловой базы: куда помощник кладёт копию
Помощник обновления на шаге резервного копирования предлагает три варианта:
- Не создавать резервную копию. Тогда искать нечего.
- Создать временную резервную копию. Она нужна только для отката, если обновление упадёт. При успешном завершении копия удаляется.
- Создать резервную копию и сохранить в каталог. Под этим вариантом есть поле с путём, его можно поменять кнопкой выбора папки.
Если помнить, какой вариант был выбран, нельзя — откройте помощник ещё раз и дойдите до этого шага. Программа запоминает последние настройки, и в поле каталога вы увидите путь, использованный в прошлый раз. Само обновление при этом запускать не нужно: просто закройте окно.
Рядом с выбором копии есть флажок отката при нештатной ситуации. Он работает только при созданной копии: без неё откатывать не из чего.
Регулярное резервное копирование в файловой базе
Кроме помощника обновления, в типовых конфигурациях есть отдельная обработка: Администрирование → Обслуживание → Резервное копирование и восстановление. В ней задают расписание, каталог и число хранимых копий.
Её копии тоже годятся для отката после неудачного обновления. Каталог виден прямо в форме настройки. Копия — это архив, внутри которого лежит файл базы 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= — сервер и имя серверной базы.
Куда сохранять копии: настройка каталога заранее
Чтобы в следующий раз не искать, договоритесь об одном месте для копий и пропишите его во всех инструментах.
- В помощнике обновления выберите вариант с сохранением в каталог и укажите постоянную папку, например
D:\1C_Backup\Обновления\. - В обработке
Резервное копирование и восстановлениенастройте автоматическое копирование по расписанию в соседнюю папку, напримерD:\1C_Backup\Плановые\, и задайте, сколько копий хранить. - Для серверной базы настройте план обслуживания в SQL Server или задание с
pg_dumpв PostgreSQL. Каталог укажите явно. - Раз в неделю переносите копии на другой носитель или в облако. Копия на том же диске, что и база, не спасёт при отказе диска.
Не кладите копии в папку самой базы. Если папку базы удалят, перенесут или зашифрует вирус, копии пропадут вместе с ней.
Удобно давать файлам говорящие имена: Бухгалтерия_до_обновления_3.0.xxx.dt. Через полгода такая подпись сэкономит поиск, особенно когда баз несколько.
| Способ | Что сохраняет | Когда подходит | Минус |
|---|---|---|---|
Выгрузка .dt | Конфигурацию и все данные | Перед любым обновлением, для переноса базы | Долго на больших базах, нужен монопольный доступ |
Копия папки / архив 1Cv8.1CD | Файловую базу целиком | Файловые базы, плановое копирование | Нельзя делать, пока в базе работают |
Бэкап СУБД (.bak, дамп) | Серверную базу целиком | Клиент-серверный режим | Нужен доступ к серверу СУБД |
Сохранение конфигурации в .cf | Только конфигурацию, без данных | Чтобы вернуть доработки | Данные не восстановит |
Откат после неудачного обновления: восстановление из копии
Порядок зависит от типа копии. Во всех случаях работу пользователей в базе нужно остановить: восстановление заменяет данные целиком, и всё, что внесли после копии, пропадёт.
Перед восстановлением предупредите пользователей и закройте все сеансы. Текущую «сломанную» базу не удаляйте — сохраните её отдельно, она может пригодиться для переноса документов, введённых после бэкапа.
Из файла .dt
- Запустите базу в режиме Конфигуратора.
- Выберите
Администрирование → Загрузить информационную базу. - Укажите файл
.dtи подтвердите загрузку.
Загрузка требует монопольного доступа и полностью заменяет конфигурацию и данные. После неё Конфигуратор предложит перезапуститься.
Из архива файловой базы
- Закройте все сеансы базы.
- Переименуйте текущий файл
1Cv8.1CDв папке базы, например в1Cv8_after_update.1CD. - Распакуйте из архива файл
1Cv8.1CDи положите его в папку базы. - Запустите базу и проверьте последние документы.
Если копия сделана обработкой резервного копирования, восстановить можно и из неё самой: в той же форме Резервное копирование и восстановление есть команда восстановления. Она сама закроет сеанс и заменит файл.
Из копии СУБД
Серверную базу восстанавливают средствами СУБД: в SQL Server — через Management Studio, восстановлением базы из файла .bak поверх существующей; в PostgreSQL — через pg_restore или psql, в зависимости от формата дампа. Перед этим заблокируйте начало сеансов в свойствах базы в консоли кластера. После восстановления версия конфигурации вернётся к той, что была на момент копии.