При работе с высоконагруженными или объемными информационными базами 1С системные администраторы часто сталкиваются с проблемой внезапного прерывания длительных операций. Одной из наиболее критичных задач является выгрузка базы в файл .dt. Рассмотрим ситуацию, когда при попытке сохранения конфигурации или выгрузки данных процесс завершается ошибкой: «Соединение с сервером баз данных разорвано администратором Microsoft OLE DB Driver 19 for SQL Server: Named Pipes Provider: Could not open a connection to SQL Server». Проанализируем причины этой проблемы и разберем по шагам методы её решения.
В современных инсталляциях всё чаще используется 19-я версия драйвера OLE DB. Важно понимать, что начиная с версии 19.0, этот драйвер по умолчанию требует обязательного шифрования соединений (параметр Encryption=Mandatory). Если на вашем SQL-сервере не настроен доверенный сертификат или в строке соединения не прописано явное доверие к сертификату сервера, соединение может быть разорвано операционной системой. Чтобы правильно сконфигурировать среду, рекомендуем изучить инструкцию по настройке регламентных операций MS SQL Server, где детально разобраны особенности работы с версиями 2019 и выше.
Для устранения этой причины проверим настройки подключения в консоли администрирования кластера 1С. Если используется драйвер версии 19, попробуем временно переключиться на версию 18 (MSOLEDBSQL), которая отличается большей стабильностью в контексте работы с текущими релизами платформы 1С. Также убедимся, что в строке соединения SQL-сервера не установлены избыточные ограничения на проверку подлинности.
Ошибка прямо указывает на использование Named Pipes Provider. Протокол "Именованные каналы" (Named Pipes) исторически считается более медленным и чувствительным к сетевым задержкам по сравнению с TCP/IP, особенно при передаче сотен гигабайт данных — для уменьшения объема есть инструмент для сжатия и обрезки базы 1С. Для серверных баз 1С крайне рекомендуется использовать именно TCP/IP.
Выполним следующие шаги для принудительной настройки протокола:
ServerName,1433 (имя сервера и порт через запятую). Это заставит систему использовать TCP-соединение.Процесс формирования .dt — это, по сути, одна гигантская транзакция на чтение. Если база весит 250 Гб, чтение может длиться часами. Проанализировать текущие задержки и настройки можно, если анализировать SQL сервер глазами 1С-ника с помощью специализированных обработок, которые показывают ожидания и нагрузки в удобном для разработчика виде.
Разберем, как изменить параметр Remote Query Timeout в свойствах SQL-сервера:
0.Это исключит разрыв соединения со стороны SQL-сервера из-за длительного выполнения запроса к таблицам базы данных.
Одним из самых эффективных способов выгрузки тяжелых баз является использование утилиты автономного сервера 1С. Это позволяет исключить влияние клиентского приложения (Конфигуратора) и сетевых задержек. Чтобы не ошибиться в синтаксисе, вы можете использовать конструктор параметров командной строки, который поможет сформировать правильную команду для версий платформы 8.3.20 - 8.3.24.
Воспользуемся командой ibcmd. Пример синтаксиса для выполнения выгрузки выглядит следующим образом:
ibcmd infobase dump --db-type=mssql --db-server=SQL_SERVER_NAME --db-name=BASE_NAME --db-user=sa --db-pwd=password --out=C:\Backup\base_dump.dt
Этот метод работает быстрее и стабильнее, так как процесс не зависит от сеанса пользователя в ОС и настроек тайм-аутов консоли кластера.
Даже если в настройках кластера снята галочка «Принудительно завершать проблемные процессы», операционная система может сама завершить процесс rphost, если он потребит всю доступную память. В таких случаях полезно провести замер производительности контура 1С и поиск узких мест, чтобы выявить, на каком этапе происходит критическое потребление ресурсов.
Проанализируем следующие настройки в консоли администрирования сервера 1С:
Рестарт рабочих процессов не настроен на слишком короткий промежуток времени.TempDB SQL-сервера, достаточно свободного места (не менее 50-100 Гб для такой базы), так как выгрузка активно использует временные таблицы.Иногда причиной разрыва соединения является повреждение данных в специфических таблицах. Рекомендуется выполнить стандартные процедуры обслуживания:
DBCC CHECKDB.chdbfl.exe.Выгрузка базы объемом 250 Гб в формат .dt требует тонкой настройки сетевых протоколов и параметров SQL-сервера. Если вам необходимо настроить регулярный процесс, используйте скрипты для резервного копирования в dt без закрытия сессий, которые позволяют автоматизировать выгрузку для MS SQL или PostgreSQL. Для дополнительного спокойствия можно настроить контроль состояния бэкапов через Telegram (есть мониторинг журнала регистрации и уведомление в Telegram), чтобы оперативно получать уведомления об успешном завершении операции. Помните, что для баз такого объема основным средством резервного копирования должны быть Native SQL Backups, а выгрузка в .dt — лишь вспомогательный инструмент.