Администрирование · 11 мин
Запись дампа 1С: что это и как правильно сделать
Что такое запись дампа 1С, чем дамп отличается от выгрузки DT, как создать дамп SQL-базы и файловой базы, восстановить данные и проверить результат.
Запись дампа 1С — это создание копии базы данных на уровне самой СУБД, а не средствами платформы 1С. Дамп сохраняет таблицы, индексы, хранимые процедуры и все содержимое базы «как есть» на момент снятия копии, поэтому его можно развернуть обратно даже на другом сервере. Такой способ резервного копирования применяется для клиент-серверных баз на MS SQL Server, PostgreSQL и других СУБД, где штатной выгрузки через конфигуратор недостаточно по скорости или объему.
Термин «запись дампа» часто встречается в инструкциях администраторов и в сообщениях об ошибках, когда система пишет аварийный дамп памяти процесса. Это два разных сценария: в первом случае речь о резервной копии данных, во втором — о файле диагностики при падении программы. Ниже разобраны оба смысла, но основной фокус — именно на дампе базы данных как инструменте защиты информации.
Практическая ценность дампа в том, что он не зависит от работоспособности платформы 1С. Если конфигурация повреждена, сервер 1С не стартует или база недоступна в конфигураторе, дамп на уровне СУБД все равно позволяет поднять данные. Поэтому в серьезных внедрениях дамп делается по расписанию и хранится отдельно от рабочего сервера.
Что такое дамп 1С и чем он отличается от выгрузки DT
Дамп — это пословная копия базы данных, сделанная инструментами самой СУБД. Для PostgreSQL это файл, созданный утилитой pg_dump, для MS SQL Server — файл резервной копии, полученный командой BACKUP DATABASE или через SQL Server Management Studio. СУБД просто сохраняет содержимое таблиц и служебных объектов, не вдаваясь в логику 1С.
Выгрузка в файл DT через конфигуратор работает иначе: платформа 1С читает данные через собственные механизмы и упаковывает их в свой формат. Этот способ универсален — DT можно загрузить и в файловую, и в серверную базу, — но на больших объемах он заметно медленнее и требует монопольного доступа к базе. Кроме того, выгрузка DT невозможна, если платформа не запускается или база не открывается.
Дамп СУБД или выгрузка DT
Быстрый, подходит для больших баз, работает по расписанию без участия 1С. Ограничение: восстановление только на ту же или совместимую СУБД.
Переносим между файловым и клиент-серверным вариантами, удобен для передачи базы. Ограничение: медленный на больших объемах, нужен монопольный доступ и работающая платформа.
Простейший вариант для файловой базы. Ограничение: только файловый режим, копировать нужно при закрытых сеансах, иначе копия может быть битой.
Выбор зависит от задачи. Для ежедневного резервного копирования рабочей серверной базы рациональнее дамп СУБД. Для передачи копии разработчику или переезда между режимами работы удобнее DT. Для файловой базы небольшого размера достаточно регулярного копирования файла 1Cv8.1CD при закрытых сеансах.
Когда дамп действительно нужен
Дамп обязателен в нескольких типовых ситуациях. Первая — регламентное резервное копирование рабочих баз: без него любой сбой диска, ошибка обновления или случайное удаление данных превращается в потерю учета. Вторая — подготовка к обновлению конфигурации: перед любым обновлением, особенно через несколько релизов, снимают копию, чтобы была точка отката.
Третья ситуация — миграция между серверами или смена версии СУБД. Дамп позволяет поднять базу на новом оборудовании без остановки работы надолго: сняли копию, развернули на новом сервере, проверили, переключили пользователей. Четвертая — создание тестовой среды: копия рабочей базы из дампа дает разработчикам реальные данные для проверки доработок.
Как записать дамп базы 1С на PostgreSQL
Для баз 1С на PostgreSQL стандартный инструмент — утилита pg_dump, входящая в состав сервера. Важно использовать версию pg_dump не старше, чем версия сервера, иначе возможны ошибки совместимости. Имя базы можно посмотреть в консоли кластера 1С или в pgAdmin.
Базовая команда записи дампа выглядит так:
pg_dump -U postgres -Fc -f /backup/mybase_$(date +%Y%m%d).dump mybaseКлюч -Fc включает собственный сжатый формат, который потом восстанавливается утилитой pg_restore и занимает заметно меньше места, чем текстовый SQL. Пароль пользователя СУБД либо вводится при запросе, либо задается через переменную окружения PGPASSWORD или файл pgpass — это удобно для автоматизации по расписанию через cron или планировщик задач.
Для восстановления создают пустую базу и разворачивают в нее дамп:
createdb -U postgres mybase_restored && pg_restore -U postgres -d mybase_restored /backup/mybase_20260115.dumpПосле восстановления базу регистрируют в кластере 1С через консоль администрирования, указывая имя новой базы. Обязательно проверьте, что база открывается в конфигураторе и в пользовательском режиме, а количество документов за последние дни совпадает с ожиданиями.
Как записать дамп базы 1С на MS SQL Server
На MS SQL Server дамп создается командой BACKUP DATABASE — в T-SQL или через графический интерфейс SQL Server Management Studio: правый клик по базе, раздел «Задачи», пункт «Создать резервную копию». Тип копии — полная, назначение — файл на диске, желательно не на том же физическом носителе, где лежит сама база.
BACKUP DATABASE [mybase] TO DISK = N'D:\backup\mybase_full.bak' WITH COMPRESSION, CHECKSUMОпция COMPRESSION уменьшает размер файла, CHECKSUM добавляет проверку целостности при записи и чтении. Для автоматизации команду помещают в задание агента SQL Server или вызывают через sqlcmd по расписанию. Если база работает в полной модели восстановления, дополнительно настраивают регулярные копии журнала транзакций — это позволяет восстановить данные на любой момент времени, а не только на момент полной копии.
Восстановление выполняется командой RESTORE DATABASE или через тот же интерфейс SSMS. Если база разворачивается рядом с существующей под другим именем, нужно задать новые пути к файлам данных и журнала через параметры MOVE, иначе восстановление попытается перезаписать файлы рабочей базы.
Дамп файловой базы и аварийный дамп процесса
У файловой базы 1С нет отдельной СУБД, поэтому аналогом дампа служит копирование файла 1Cv8.1CD из каталога базы. Главное условие — все сеансы должны быть завершены: если копировать файл во время работы пользователей, часть данных останется в кэше, и копия окажется несогласованной. Для автоматизации используют скрипты, которые копируют файл в ночное время или средства теневого копирования тома в Windows.
Отдельный сюжет — фраза «запись дампа» в контексте аварийного завершения 1С. Когда платформа падает с ошибкой, она может записать дамп памяти процесса — файл с расширением dmp, который содержит состояние программы в момент сбоя. Этот файл не является резервной копией данных и не предназначен для восстановления базы: он нужен технической поддержке или разработчикам для анализа причин падения.
Если вы встретили сообщение о записи дампа при падении 1С, действия другие: сохраните файл дампа и логи, зафиксируйте версию платформы и действия, которые привели к сбою. При повторяющихся падениях проверьте обновления платформы, целостность базы через тестирование и исправление, а также системные ресурсы сервера.
Проверка результата и типичные ошибки
Сам по себе факт создания файла дампа ничего не гарантирует. Проверка состоит из трех шагов: файл существует и имеет правдоподобный размер, команда завершилась без ошибок в журнале, и — самое главное — дамп реально восстанавливается. Регулярное тестовое восстановление на отдельном сервере или в отдельной базе — единственный способ убедиться, что копии рабочие.
Как проверить результат
Сопоставим с размерами предыдущих копий, не нулевой
Файл резко меньше обычного или 0 байт — процесс оборвался
Команда завершилась кодом успеха, ошибок нет
Ошибки доступа, нехватки места, разрыва соединения
Дамп разворачивается, база открывается, данные на месте
Ошибки при restore, база не открывается, данных не хватает
Еще одна распространенная проблема — права доступа. Учетная запись, от которой запускается pg_dump или задание агента SQL Server, должна иметь достаточные права на базу и на целевой каталог. Ошибки вида «permission denied» или «access denied» в журнале — первый признак, что резервное копирование фактически не работает.
Что важно запомнить
Дамп 1С — это резервная копия базы средствами СУБД: pg_dump для PostgreSQL, BACKUP DATABASE для MS SQL. Для файловой базы достаточно копии 1Cv8.1CD при закрытых сеансах. Копии хранят отдельно от рабочего сервера и регулярно проверяют тестовым восстановлением. Аварийный дамп памяти — файл диагностики сбоев, а не резервная копия.
Частые вопросы о записи дампа 1С
Чем дамп отличается от выгрузки информационной базы в конфигураторе?
Дамп создается средствами СУБД и копирует базу на уровне таблиц, а выгрузка DT — средствами платформы 1С в собственном формате. Дамп быстрее и надежнее для больших баз, но восстанавливается только на совместимую СУБД. DT переносим между файловым и клиент-серверным режимами, но требует монопольного доступа и работающей платформы.
Можно ли снимать дамп, пока пользователи работают в базе?
Да, современные СУБД обеспечивают целостность дампа благодаря транзакционному механизму — копия отражает состояние базы на момент начала снятия. Однако нагрузка на дисковую подсистему возрастает, поэтому на практике дампы планируют на периоды минимальной активности.
Как часто нужно записывать дамп рабочей базы?
Частота зависит от допустимых потерь данных. Типовой минимум — ежедневная полная копия. Для баз с интенсивным вводом документов на MS SQL дополнительно настраивают копии журнала транзакций с интервалом в десятки минут, что позволяет восстановить состояние почти на момент сбоя.
1С упала с ошибкой и записала дамп — это потеря данных?
Нет. Аварийный дамп — это снимок памяти процесса для диагностики сбоя, а не резервная копия. Данные базы при таком падении обычно не повреждаются благодаря транзакционности СУБД. Сохраните файл дампа и логи для анализа, затем запустите базу и при повторении сбоев проверьте версию платформы и целостность данных.
Куда лучше сохранять файлы дампов?
На отдельный физический носитель или сетевое хранилище, а в идеале — с дополнительной копией в другом месте. Дамп на том же диске, где лежит база, не защищает от отказа диска. Также стоит ограничить доступ к каталогу с копиями, так как дамп содержит все данные базы, включая персональные.
Как восстановить базу из дампа PostgreSQL на новом сервере?
Установите PostgreSQL совместимой версии, создайте пустую базу командой createdb, затем разверните дамп через pg_restore с указанием имени новой базы. После этого зарегистрируйте базу в кластере 1С через консоль администрирования и проверьте вход в конфигуратор и пользовательский режим.