К статье
Практический материал

Администрирование · 11 мин

Как прервать выгрузку базы 1С

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

Выгрузка базы 1С в файл .dt или через конфигуратор может занимать десятки минут и даже часы, если база большая. Иногда процесс нужно остановить: запустили выгрузку по ошибке, поняли, что не хватит места на диске, или база требуется пользователям, а выгрузка блокирует работу. Способ прерывания зависит от того, как именно запущена выгрузка и в каком режиме работает база — файловом или клиент-серверном.

Главное, что нужно понимать: прерванная выгрузка не повреждает саму информационную базу, потому что выгрузка — это операция чтения. Однако недописанный файл .dt будет непригоден для загрузки, а резкое завершение процессов в клиент-серверном режиме может оставить «висячие» сеансы и фоновые задания на сервере. Поэтому останавливать процесс нужно осмысленно, а после — проверять состояние базы и удалять недописанный файл.

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

Как понять, что выгрузка действительно идёт

Прежде чем прерывать, убедитесь, что процесс выгрузки реально выполняется, а не завис. В конфигураторе при выгрузке в .dt отображается окно с индикатором прогресса и счётчиком обработанных объектов. Если счётчик растёт — процесс идёт. Если цифры не меняются 10–15 минут, а размер файла .dt на диске не увеличивается, возможно, процесс завис, и прерывание тем более оправдано.

Дополнительные признаки работающей выгрузки: процесс 1cv8.exe (или 1cv8c.exe) в диспетчере задач потребляет процессор и память, файл .dt на диске растёт в размере, а в клиент-серверном режиме на сервере СУБД видна активная длительная транзакция чтения.

Счётчик объектов растётВыгрузка идёт штатно

Можно отменить через интерфейс или дождаться завершения

Счётчик замер, файл не растётПроцесс завис

Проверьте место на диске и завершайте процесс принудительно

Файл .dt растётЗапись идёт

После прерывания файл будет неполным — удалите его

Диск заполненВыгрузка остановится с ошибкой

Освободите место и перезапустите выгрузку

Штатная отмена выгрузки в конфигураторе

Самый безопасный способ — отменить выгрузку средствами самой платформы. В окне прогресса выгрузки в .dt есть кнопка «Отмена» (или сработает клавиша Esc в некоторых версиях платформы). После нажатия платформа корректно завершает текущую операцию и прекращает запись в файл.

Учтите, что отмена срабатывает не мгновенно: платформа дожидается завершения обработки текущего объекта. На больших таблицах (например, регистры накопления с миллионами записей) ожидание может занять несколько минут. Это нормально — не пытайтесь в этот момент «убивать» процесс, дайте платформе завершить отмену.

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

Порядок штатной отмены
  1. 1
    В окне прогресса выгрузки нажмите «Отмена»
  2. 2
    Дождитесь прекращения операции — счётчик остановится, окно закроется
  3. 3
    Проверьте, что конфигуратор не завис и отвечает на действия
  4. 4
    Удалите недописанный файл .dt, чтобы не перепутать его с полной копией
  5. 5
    При необходимости запустите выгрузку заново

Прерывание через диспетчер задач в файловом режиме

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

Откройте диспетчер задач (Ctrl+Shift+Esc), найдите процесс 1cv8.exe, соответствующий конфигуратору, и выберите «Снять задачу». Если открыто несколько сеансов 1С, ориентируйтесь по заголовку окна в разделе «Приложения» или по потреблению ресурсов — выгружающий процесс обычно активно нагружает один из процессорных потоков.

После принудительного завершения рекомендуется выполнить тестирование и исправление базы (пункт «Администрирование — Тестирование и исправление» в конфигураторе) только если появятся ошибки при входе. Само по себе прерывание выгрузки повреждений не вызывает, но лишняя проверка не помешает, если база и раньше работала нестабильно.

Остановка выгрузки в клиент-серверном режиме

В клиент-серверном варианте логика та же, но появляется дополнительный уровень — сервер 1С:Предприятия и СУБД (MS SQL, PostgreSQL, Oracle). Выгрузка в .dt выполняется через сервер 1С, поэтому завершение клиентского процесса 1cv8.exe на вашем компьютере разорвёт соединение, и серверный сеанс завершится по таймауту.

Более управляемый способ — завершить сеанс через консоль кластера серверов 1С. Откройте консоль администрирования, найдите свой сеанс в списке сеансов базы (он будет активным, с длительным временем вызова СУБД) и удалите его. Сервер корректно прервёт выполнение операции.

Если выгрузка запущена как фоновое задание (например, регламентная выгрузка по расписанию), в консоли кластера найдите соответствующее фоновое задание и завершите его, либо отключите регламентное задание через консоль заданий в самой базе.

Маршрут решения

Как выбрать способ прерывания

Окно выгрузки отвечает, кнопка «Отмена» доступнаНажмите «Отмена» и дождитесь завершения операции
Конфигуратор завис, файловый режимЗавершите процесс 1cv8.exe через диспетчер задач
Клиент-серверный режим, есть доступ к консоли кластераНайдите и завершите сеанс в консоли серверов 1С
Выгрузка запущена регламентным заданиемЗавершите фоновое задание и отключите расписание
Нет доступа к консоли, сеанс завис на сервереОбратитесь к администратору сервера для завершения сеанса

Прерывание выгрузки средствами SQL и пакетных сценариев

Иногда под «выгрузкой» понимают не файл .dt, а резервную копию средствами СУБД — например, BACKUP DATABASE в MS SQL или pg_dump в PostgreSQL. Такие операции прерываются своими инструментами: в MS SQL — отмена в окне выполнения или команда KILL для идентификатора сессии, в PostgreSQL — функция pg_cancel_backend или pg_terminate_backend с нужным PID.

Если выгрузка запущена пакетным файлом через командную строку конфигуратора (параметр /DumpIB), найдите процесс 1cv8.exe, запущенный из командной строки, и завершите его. Определить нужный процесс помогает командная строка процесса — её видно в диспетчере задач при включённом столбце «Командная строка».

sql
SELECT pid, state, query FROM pg_stat_activity WHERE state = 'active'; SELECT pg_cancel_backend(<pid>);

Отмена резервного копирования на уровне СУБД также безопасна для рабочей базы: недописанный файл бэкапа просто не будет создан или окажется неполным. Но не прерывайте таким способом операции записи в саму базу — например, восстановление из копии или загрузку .dt.

Что делать после прерывания

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

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

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

Контрольные точки

Как проверить результат

Доступность базы
Норма

Вход выполняется, документы открываются

Тревожный признак

Ошибки при входе, сообщения о повреждении

Сеансы на сервере
Норма

Прерванный сеанс отсутствует в консоли кластера

Тревожный признак

Сеанс висит с длительным вызовом СУБД

Файл выгрузки
Норма

Недописанный .dt удалён или переименован

Тревожный признак

Неполный файл лежит рядом с полными копиями

Место на диске
Норма

Запас свободного места превышает размер базы

Тревожный признак

Диск почти заполнен

Типичные ошибки при прерывании выгрузки

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

Вторая ошибка — завершение серверных процессов rphost или ragent вместо конкретного сеанса. Это обрывает работу всех пользователей кластера, а не только выгрузку. Завершать нужно сеанс через консоль или клиентский процесс, а не службу сервера 1С целиком.

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

Типичные ошибки
01
Прерывание загрузки вместо выгрузки — база остаётся в повреждённом состоянии и требует восстановления
02
Завершение процесса rphost или службы сервера — обрыв работы всех пользователей кластера
03
Хранение недописанного файла .dt — риск перепутать его с полной резервной копией
04
Повторный запуск без проверки свободного места — выгрузка снова прерывается с ошибкой
05
Выключение компьютера кнопкой питания при работающих пользователях — риск повреждения файловой базы

Как не допустить необходимости прерывания

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

Заранее оцените размер будущего файла и проверьте диск. Для регулярных копий настройте автоматическую выгрузку по расписанию через пакетный режим конфигуратора с логированием — тогда зависший процесс легко найти по лог-файлу и времени запуска.

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

Итог

Что важно запомнить

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

Повредит ли базу прерывание выгрузки в .dt?

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

Кнопка «Отмена» нажата, но выгрузка не останавливается. Это нормально?

Да. Платформа завершает обработку текущего объекта перед остановкой, и на больших таблицах это занимает заметное время. Подождите несколько минут. Если счётчик не двигается дольше 10–15 минут и файл не растёт, завершайте процесс через диспетчер задач.

Как прервать выгрузку, запущенную по расписанию ночью?

Найдите соответствующее фоновое задание в консоли кластера серверов 1С и завершите его, либо завершите процесс 1cv8.exe, запущенный планировщиком. Чтобы выгрузка не запустилась снова, отключите регламентное задание или задачу в планировщике Windows.

Можно ли продолжить прерванную выгрузку с места остановки?

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

Что делать, если случайно прервал загрузку, а не выгрузку?

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

Чем выгрузка в .dt отличается от бэкапа средствами SQL при прерывании?

По безопасности разницы нет: обе операции только читают рабочую базу и прерываются без последствий. Различие в инструментах: .dt отменяется через конфигуратор или завершение сеанса, а бэкап СУБД — через отмену запроса в среде SQL. Бэкап СУБД обычно быстрее и не требует монопольного доступа.