Почему выгрузка базы 1С в формат .dt прерывается с ошибкой «Сеанс завершен администратором»?

Системный администратор 1С v8.3 (Управляемые формы) 1С:Управление торговлей
← На главную

При работе с крупными информационными базами на платформе 1С:Предприятие 8.3 системные администраторы часто сталкиваются с проблемой, когда процесс выгрузки в файл .dt прерывается через 40-60 минут после начала. При этом система выдает ошибку: «Соединение с сервером баз данных разорвано администратором» с кодом HRESULT=80004005. Разберем по шагам, почему это происходит и как настроить систему для стабильной работы — для повседневного контроля и администрирования подойдёт универсальный инструмент администрирования и мониторинга 1С.

Анализируем причину разрыва соединения

Ошибка HRESULT=80004005 является общей и часто указывает на сетевые проблемы или нехватку ресурсов. Однако в контексте 1С и MS SQL Server ключевым моментом является упоминание Named Pipes Provider. Это говорит о том, что система пытается использовать протокол именованных каналов, который менее стабилен при длительных транзакциях, чем TCP/IP. Чтобы лучше разобраться в происходящем, можно проанализировать SQL сервер глазами 1С-ника, изучив текущие запросы и ожидания.

Проанализируем текущие соединения с помощью SQL-запроса:


SELECT session_id, net_transport
FROM sys.dm_exec_connections

Если в результате запроса мы видим тип транспорта Named Pipes, это первый кандидат на исправление. Длительная выгрузка (более часа) создает специфическую нагрузку, при которой именованные каналы могут «отваливаться» по таймауту.

Настройка протоколов взаимодействия

Рассмотрим порядок действий для принудительного перехода на протокол TCP/IP, который обеспечит более стабильное соединение между сервером приложений 1С и сервером СУБД:

  1. Откроем SQL Server Configuration Manager.
  2. Перейдем в раздел SQL Server Network Configuration -> Protocols for MSSQLSERVER.
  3. Отключим протокол Named Pipes и убедимся, что TCP/IP включен.
  4. В консоли администрирования кластера 1С, в свойствах информационной базы, укажем адрес сервера в формате tcp:ИмяСервера или tcp:IP-адрес.

Для правильной подготовки серверной среды рекомендуем изучить инструкцию по настройке регламентных операций MS SQL SERVER под 1С.

Обновление драйверов и устранение устаревших компонентов

Выясним, какой драйвер используется для связи. Если в тексте ошибки фигурирует SQL Server Native Client 11.0, следует учитывать, что этот компонент устарел. Современные версии платформы 1С, начиная с 8.3.20+, лучше работают с Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL). Рекомендуем установить актуальную версию драйвера на сервер приложений 1С. Это часто решает проблемы с таймаутами и некорректной обработкой длинных транзакций.

Настройка параметров ОС и TCP KeepAlive

Когда выгрузка длится долго, сетевое оборудование может посчитать соединение неактивным и разорвать его. Посмотрим на параметры реестра Windows, отвечающие за проверку активности соединений. Настроим параметры KeepAliveTime и KeepAliveInterval в ветке:

HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

Установим значение KeepAliveTime равным 300 000 (5 минут) в десятичной системе. Это заставит систему чаще подтверждать активность сессии, не давая сторонним механизмам закрыть канал связи во время формирования .dt.

Проверка ресурсов и дискового пространства

Проанализируем состояние системной базы tempdb на SQL-сервере. Процесс выгрузки активно использует временные таблицы. Выясним следующие моменты:

Рекомендации по обслуживанию базы

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

  1. Запустим Тестирование и исправление (ТиИ) с включенными опциями проверки целостности.
  2. Выполним реструктуризацию таблиц. При работе с индексами на современных версиях платформы (8.3.22+) лучше использовать MaintenanceSolution с доработанной IndexOptimize, чтобы избежать ошибок блокировок.
  3. Если выгрузка в .dt используется в качестве бэкапа, рассмотрите резервное копирование в файл dt без закрытия сессий с помощью скриптов. Это позволит автоматизировать процесс без прерывания работы пользователей — для сценариев с отключением клиентов есть обработка принудительного завершения сеансов пользователей.
  4. Для надежности стоит настроить контроль состояния бэкапов через Telegram, чтобы оперативно получать информацию о статусе завершения операций.

Важный момент: если вы переходите на использование Native SQL Backup (файлы .bak), это будет на порядок быстрее и надежнее, так как не требует монопольного захвата базы на длительное время.

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

← На главную