С выходом MS SQL Server 2022 многие системные администраторы и разработчики столкнулись с серьезным препятствием: Microsoft официально прекратила поддержку и удалила из дистрибутива SQL Server Native Client (SNAC). Поскольку платформа 1С:Предприятие исторически полагалась именно на этот драйвер для взаимодействия с базами данных, стандартная попытка подключения к новому SQL-серверу часто заканчивается ошибкой. В данной статье мы подробно разберем, как «подружить» эти системы, рассмотрим официальные способы решения и обходные пути для старых версий платформы.
Проанализируем ситуацию: при установке MS SQL 2022 компонента sqlncli больше не устанавливается автоматически. Платформа 1С (особенно версий до 8.3.22.1921 и 8.3.23.1688) при попытке создания информационной базы ищет именно этот драйвер. Если он не найден в системе, консоль администрирования выдает ошибку соединения. Выясним причину: Microsoft переходит на новый стандарт — Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL), а старый Native Client объявлен устаревшим (deprecated).
Рассмотрим два основных сценария решения: обновление платформы до актуальных версий с нативной поддержкой новых драйверов и настройка «костылей» через алиасы для тех, кто вынужден оставаться на более ранних релизах 1С. Для глубокой диагностики на любом этапе может понадобиться перенос логов технологического журнала в ClickHouse — есть готовая выгрузка технологического журнала 1С в ClickHouse.
Первым делом проанализируем версию вашей платформы. Компания «1С» оперативно выпустила обновления, которые позволяют работать с SQL 2022 напрямую через современный драйвер MSOLEDBSQL. Официальная поддержка реализована в следующих сборках:
Если вы используете эти версии, алгоритм действий будет следующим:
MSOLEDBSQL и используют его.Если обновление платформы по каким-то причинам невозможно (например, конфигурация жестко привязана к конкретному релизу), разберем способ с использованием SQL Server Native Client 11 и механизма алиасов. Этот метод позволяет обмануть платформу, заставив ее думать, что она подключается к привычному серверу через стандартный драйвер.
Рассмотрим пошагово процесс настройки алиаса через утилиту cliconfg.exe:
C:\Windows\System32\cliconfg.exeC:\Windows\SysWOW64\cliconfg.exeSQL2022_1C.
\\.\pipe\MSSQL$ИМЯ_ИНСТАНСА\sql\query
\\.\pipe\sql\query
1C:Enterprise 8.3 Server Agent.После этого в консоли администрирования 1С в поле "Сервер баз данных" вместо реального имени сервера WINSRV\SERVER_1C укажем наш алиас — SQL2022_1C.
Проанализируем ситуацию, описанную пользователями на форуме: иногда стандартный путь вида \\ИМЯ_СЕРВЕРА\pipe\... не работает, в то время как локальный путь через точку \\.\pipe\... позволяет успешно установить соединение. Это связано с тем, как операционная система разрешает пути к именованным каналам внутри локальной сессии.
Посмотрим, как проверить правильный pipe name, а также выполнить замер производительности контура 1С:
cliconfg.Разберем, почему все-таки стоит переходить на SQL 2022, несмотря на сложности с драйверами. В этой версии появились механизмы, которые крайне полезны для высоконагруженных систем 1С:
1. Parameter Sensitive Plan (PSP) Optimization. Рассмотрим проблему "parameter sniffing", когда 1С отправляет запрос, SQL строит план под конкретные параметры, а для других данных этот план оказывается катастрофически медленным. В версии 2022 оптимизатор умеет хранить несколько планов для одного и того же запроса, выбирая нужный в зависимости от объема данных.
2. Улучшения TempDB. Проанализируем работу с временными таблицами, которые 1С создает в огромных количествах. В SQL 2022 минимизированы задержки при обновлении системных страниц в tempdb (latch contention), что дает прирост скорости на тяжелых операциях закрытия месяца или расчете себестоимости.
3. Query Store (Хранилище запросов). Выясним, почему это важно: теперь хранилище включено по умолчанию. Это позволяет без сторонних инструментов (вроде сервисов Гилева) видеть деградацию планов запросов 1С и проводить анализ SQL сервера глазами 1С-ника — для этого подойдёт инструмент анализа производительности СУБД и планов запросов.
Подводя итог, при использовании связки 1С и MS SQL 2022 рекомендуем придерживаться следующей стратегии:
C:\Windows\System32\cliconfg.exe является приоритетной.Соблюдение этих инструкций, а также правильная настройка регламентных операций MS SQL, позволит вам успешно эксплуатировать современную СУБД в связке с экосистемой 1С, обеспечивая стабильность и высокую производительность системы.