При работе с файловыми информационными базами «1С:Предприятие 8.3» пользователи часто сталкиваются с ситуацией, когда в списке активных пользователей отображаются незавершающиеся системные сеансы с текущего рабочего места. Попытка запустить штатное резервное копирование в режиме 1С:Предприятие приводит к бесконечному ожиданию завершения этих задач. Разберем природу возникновения таких процессов и рассмотрим все способы их корректного завершения и безопасного создания бэкапа базы данных.
Проанализируем механику работы файлового режима. В отличие от клиент-серверного варианта (SQL), где фоновыми и регламентными операциями управляет отдельный серверный процесс, в файловой базе платформа 1С запускает фоновые задания непосредственно от имени активного пользователя в виде скрытых дочерних сеансов. К таким операциям относятся:
Если во время выполнения регламентной операции происходит задержка ответа от внешнего веб-сервиса, сетевой сбой или внутренняя ошибка платформы, сеанс фонового задания переходит в состояние ожидания и продолжает удерживать монопольные блокировки таблиц файла 1Cv8.1CD.
Рассмотрим штатный интерфейс программы, позволяющий диагностировать и остановить зависшую процедуру без перезапуска компьютера:
После отмены задания блокировки с таблиц базы данных будут сняты, и штатный мастер резервного копирования сможет успешно продолжить работу.
Разберем классический и наиболее надежный метод создания копии, не зависящий от пользовательских регламентных заданий:
.dt и нажмем «Сохранить».При запуске Конфигуратора пользовательские регламентные задания в файловой базе не стартуют, что гарантирует создание целостного архива без конфликтов блокировок.
Посмотрим на самый быстрый способ создания резервной копии, который подходит для регулярного выполнения:
1cv8.exe и 1cv8c.exe завершены.1Cv8.1CD на внешний накопитель или в архивную папку. При необходимости упакуем файл в ZIP- или RAR-архив.Если фоновые процессы запускаются непрерывно и мешают плановому обслуживанию, применим специальный параметр платформы:
/AllowExecuteScheduledJobs -Off
/AllowExecuteScheduledJobs -On либо полностью удалим его из строки.Для исключения человеческого фактора настроим автоматический скрипт резервного копирования. Создадим текстовый командный файл с расширением .bat:
@echo off
taskkill /F /IM 1cv8.exe /IM 1cv8c.exe
"C:\Program Files\1cv8\8.3.5.1383\bin\1cv8.exe" DESIGNER /F "D:\Bases\UNF" /N "Администратор" /P "Пароль" /DumpIB "D:\Backup\UNF_%date%.dt" /DisableStartupMessages
Данный сценарий принудительно завершает зависшие клиентские процессы и выполняет корректную выгрузку базы в фоновом режиме через утилиту Конфигуратора.