Администрирование · 9 мин
Как долго делается резервная копия 1С
Сколько времени занимает резервное копирование 1С: от чего зависит скорость, чем отличается выгрузка dt от backup SQL, как ускорить процесс и проверить результат.
Вопрос о том, сколько времени делается резервная копия 1С, не имеет одного универсального ответа: диапазон варьируется от пары минут до нескольких часов. На небольшой файловой базе размером до 1–2 ГБ выгрузка в dt обычно занимает 5–15 минут, а копия клиент-серверной базы на десятки гигабайт средствами СУБД может идти от получаса до нескольких часов в зависимости от оборудования и нагрузки.
Главный фактор — не «размер 1С» как таковой, а совокупность условий: объём базы, способ копирования (выгрузка в dt, копирование файла 1Cv8.1CD, backup средствами SQL Server или PostgreSQL), скорость дисков и сети, а также наличие активных пользователей в момент копирования. Понимание этих факторов позволяет заранее оценить время и выбрать подходящий метод.
Ниже разобраны типичные сценарии с ориентировочными сроками, способы ускорить процесс и признаки того, что копирование идёт нормально, а не зависло.
От чего зависит время резервного копирования
Первый и главный фактор — объём информационной базы. Узнать его просто: для файловой базы это размер файла 1Cv8.1CD в каталоге базы, для клиент-серверной — размер базы данных, который виден в консоли управления СУБД. База на 500 МБ и база на 50 ГБ будут копироваться в разы дольше по времени даже при одинаковом оборудовании.
Второй фактор — скорость дисковой подсистемы. Копирование с HDD на HDD по сети на 100 Мбит/с будет в десятки раз медленнее, чем копирование внутри сервера с SSD. Если резервная копия пишется на сетевой диск или в облачное хранилище, узким местом становится канал передачи данных.
Третий фактор — активность пользователей. Если во время копирования в базе работают десятки сотрудников, процесс замедляется из-за конкуренции за дисковые операции и блокировок. Именно поэтому регламентные копии обычно планируют на ночь или выходные.
Посмотрите размер 1Cv8.1CD или базы в СУБД
Проверьте, куда пишется копия
Оцените пропускную способность канала
Планируйте копию на нерабочее время
Сколько длится выгрузка в dt через конфигуратор
Выгрузка в файл dt — штатный способ, доступный через меню «Администрирование → Выгрузить информационную базу» в конфигураторе. Это самый медленный метод: помимо простого копирования данных выполняется их сериализация во внутренний формат. На базе до 1–2 ГБ выгрузка обычно занимает 5–15 минут, на базе 5–10 ГБ — от 30 минут до полутора часов, на крупных базах — несколько часов.
Важная особенность: во время выгрузки в dt работа пользователей в базе блокируется или крайне нежелательна, поскольку данные могут измениться в процессе и копия окажется логически нецелостной. Поэтому метод применяют в нерабочее время либо для переноса базы, а не как ежедневный регламент для крупных систем.
Ориентировочный признак нормы: файл dt в каталоге назначения должен равномерно расти в размере. Если размер не меняется 15–20 минут, а процесс 1cv8.exe не потребляет ресурсы процессора и диска, скорее всего, выгрузка зависла.
Сколько занимает копирование файловой базы напрямую
Для файлового варианта 1С самый быстрый способ — простое копирование файла 1Cv8.1CD средствами операционной системы. Скорость здесь определяется только дисками и сетью: копия базы на 2 ГБ внутри одного SSD делается за секунды или пару минут, а передача той же базы по сети 100 Мбит/с займёт около 3–5 минут.
Критичное условие: перед копированием все пользователи должны выйти из базы, иначе файл может скопироваться в несогласованном состоянии, и такая копия не откроется или будет содержать повреждённые данные. Проверить отсутствие сеансов можно через консоль кластера (для сервера 1С) или просто убедившись, что файл не занят другими процессами.
Резервное копирование клиент-серверной базы средствами СУБД
Для баз на Microsoft SQL Server, PostgreSQL или Oracle штатный путь — backup средствами самой СУБД. Это быстрее и надёжнее выгрузки в dt: SQL Server умеет делать сжатые бэкапы без остановки работы пользователей, и копия базы на 20–50 ГБ на нормальном серверном оборудовании обычно создаётся за 15–60 минут.
Пример команды для MS SQL Server:
BACKUP DATABASE [MyBase1C] TO DISK = N'D:\Backups\MyBase1C_full.bak' WITH COMPRESSION, CHECKSUM;Опция COMPRESSION заметно сокращает и время записи, и размер файла, а CHECKSUM добавляет проверку целостности при создании копии. Для PostgreSQL используют pg_dump или физическое копирование через pg_basebackup — логическая выгрузка pg_dump на больших базах идёт дольше, чем физическая копия.
Дополнительное преимущество: полный backup СУБД можно дополнять разностными копиями и копиями журнала транзакций, что позволяет восстановить базу на конкретный момент времени, а не только на момент ночной копии.
Как ускорить резервное копирование
Если копия делается неприемлемо долго, есть несколько рабочих приёмов. Во-первых, перенесите запись копии на быстрый локальный диск сервера, а уже потом перемещайте готовый файл в сетевое или облачное хранилище — это убирает сетевое узкое место из критичной фазы.
Во-вторых, используйте сжатие: и в SQL Server, и в архиваторах (7-Zip и подобных) сжатие файловой копии 1С даёт уменьшение размера в 3–7 раз, что сокращает время передачи по сети. В-третьих, планируйте копирование на период минимальной нагрузки и исключите параллельные тяжёлые операции — обмены, проведение больших пакетов документов, пересчёт итогов.
- 1Определите объём базы и выберите метод: dt для переноса, backup СУБД для регламентных копий
- 2Настройте запись копии на локальный быстрый диск сервера
- 3Включите сжатие копии, если его поддерживает СУБД
- 4Запланируйте задание на ночное время через планировщик
- 5После первого запуска замерьте фактическую длительность и скорректируйте расписание
Как проверить, что копия сделана корректно
Факт завершения копирования ещё не гарантирует, что копия рабочая. Минимальная проверка — размер файла: он не должен быть нулевым или аномально маленьким по сравнению с предыдущими копиями. Резкое уменьшение размера от копии к копии без объективных причин — повод разобраться.
Надёжная проверка — тестовое восстановление. Для файловой копии достаточно периодически открывать скопированный 1Cv8.1CD в тестовом каталоге. Для dt — выполнить пробную загрузку в пустую базу. Для backup SQL Server — восстановить копию под другим именем и открыть базу. Такую проверку достаточно делать регулярно, например раз в месяц, а не после каждой копии.
Как проверить результат
Сопоставим с предыдущими копиями
Нулевой или резко меньше обычного
Копия завершилась без ошибок
Ошибки записи, обрывы, таймауты
База открывается и работает
Ошибка открытия или повреждение данных
Стабильна от запуска к запуску
Время резко выросло без роста базы
Типичные ошибки и ограничения
Самая частая ошибка — оценивать длительность по первому запуску и не пересматривать её по мере роста базы. База растёт постоянно, и копия, которая год назад делалась за 20 минут, может растянуться до двух часов и перестать укладываться в ночное окно.
Вторая ошибка — хранить копию на том же диске, где лежит сама база. Такая копия не защищает от отказа диска, а само копирование «диск на себя» замедляет обе операции. Третья ошибка — использовать выгрузку в dt как единственный механизм для большой клиент-серверной базы: это долго, блокирует работу и не даёт восстановления на произвольный момент времени.
Что важно запомнить
Время резервного копирования 1С зависит от объёма базы, метода и оборудования: маленькая файловая база копируется за минуты, крупная клиент-серверная — за часы. Для регламентных копий клиент-серверных баз используйте backup средствами СУБД, планируйте задания на нерабочее время и регулярно проверяйте копии тестовым восстановлением.
Частые вопросы
Можно ли работать в 1С, пока делается резервная копия?
Зависит от метода. Backup средствами SQL Server или PostgreSQL не требует остановки работы, хотя может немного замедлять базу. Выгрузка в dt и копирование файла 1Cv8.1CD требуют отсутствия активных сеансов, иначе копия будет нецелостной.
Почему выгрузка в dt идёт уже несколько часов — это нормально?
Для базы в десятки гигабайт — да, выгрузка dt объективно медленная. Проверьте, что файл dt растёт в размере и процесс конфигуратора потребляет ресурсы. Если размер не меняется долгое время, выгрузка зависла, и её нужно прервать и перезапустить при отсутствии пользователей.
Как часто нужно делать резервную копию?
Минимальный разумный режим — ежедневно в нерабочее время. Для баз с интенсивным вводом документов полезны дополнительные копии журнала транзакций в течение дня, чтобы потерять при аварии не более часа работы, а не целый день.
Копия делается всё дольше с каждым месяцем — что делать?
Проверьте рост объёма базы: если база выросла, увеличение времени закономерно. Если объём почти не менялся, ищите проблему в дисках, сети или конкурирующих процессах. Также имеет смысл перейти с выгрузки dt на backup средствами СУБД со сжатием.
Чем отличается резервная копия от выгрузки в dt?
Выгрузка dt — это переносимый формат для миграции базы между платформами и СУБД, он медленный и требует остановки работы. Backup средствами СУБД — быстрая физическая копия для защиты от потери данных, но восстановить её можно только на ту же СУБД. Для ежедневной защиты нужен backup, dt — для переноса.
Достаточно ли хранить одну последнюю копию?
Нет. Если повреждение данных произошло незаметно несколько дней назад, последняя копия уже содержит испорченные данные. Храните несколько поколений копий — например, ежедневные за неделю и еженедельные за месяц, чтобы была возможность откатиться на более раннее состояние.