Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

MSSQL_ERR_7302 1С:Предприятие и СУБД

MSSQL Ошибка 7302: Cannot create instance of OLE DB provider — Linked Server

Обновлено: 25.08.2026 · Официальная документация ↗
  • Сообщение: Msg 7302, Level 16, State 1: Cannot create an instance of OLE DB provider 'MSOLEDBSQL' (или 'Microsoft.ACE.OLEDB.12.0', 'OraOLEDB.Oracle') for linked server 'LINKED_1C'.
  • Сбой выполнения распределенных запросов OPENQUERY или прямых обращений через четырехимятную нотацию.
  • Невозможность выполнить обмен данными между 1С:Предприятием и внешними СУБД через механизм Linked Server.

1. Включение параметра AllowInProcess для OLE DB провайдера

По умолчанию вызов внешних провайдеров в процессе SQL Server заблокирован из соображений безопасности. Включите опцию AllowInProcess:

USE [master];
GO
EXEC sp_MSset_oledb_prop N'MSOLEDBSQL', N'AllowInProcess', 1;
EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1;
EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.16.0', N'AllowInProcess', 1;
GO

2. Проверка разрядности драйверов (32-bit vs 64-bit)

Если служба SQL Server 64-битная, все используемые OLE DB провайдеры (Access Database Engine, Oracle Client, PostgreSQL OLE DB) обязательно должны быть установлены в 64-разрядной версии. 32-битные драйверы не могут быть загружены в 64-битный адресный процесс sqlservr.exe.

3. Настройка прав на папку Temp для учетной записи SQL Server

Для OLE DB провайдеров Microsoft.ACE (Excel/Access) создайте системные каталоги и выдайте права службе SQL Server:

  • C:\Windows\System32\config\systemprofile\AppData\Local\Temp
  • C:\Windows\SysWOW64\config\systemprofile\AppData\Local\Temp
icacls "C:\Windows\System32\config\systemprofile\AppData\Local\Temp" /grant "NT SERVICE\MSSQLSERVER":(OI)(CI)F /T

4. Тестирование подключения к Linked Server

EXEC sp_testlinkedserver N'LINKED_1C';
GO
💡 Практика специалистов: Для интеграционных обменов 1С с внешними базами вместо устаревшего SQL Server Native Client (SQLNCLI) всегда устанавливайте современный драйвер Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL), поддерживающий протоколы TLS 1.3 и современную аутентификацию.

Частые вопросы (FAQ)

Почему Microsoft не рекомендует использовать AllowInProcess для сторонних драйверов?

В режиме AllowInProcess OLE DB драйвер исполняется в общем адресном пространстве СУБД. Любая критическая ошибка (Access Violation) внутри стороннего драйвера приведет к аварийному падению всего экземпляра SQL Server.

Что делать, если sp_testlinkedserver возвращает ошибку аутентификации?

Проверьте маппинг пользователей в свойствах Linked Server -> Security. Укажите явный логин и пароль удаленной базы данных (Be made using this security context).

Можно ли через Linked Server читать файлы Excel прямо из 1С?

Да, через провайдер Microsoft.ACE.OLEDB и OPENROWSET, но для стабильной работы под нагрузкой рекомендуется использовать прямое чтение через COM/Native библиотеки 1С.

Нужно ли перезапускать SQL Server после установки нового OLE DB драйвера?

Да, для корректной регистрации COM-объектов и динамических библиотек DLL в пространстве ядра СУБД рекомендуется выполнить перезапуск службы SQL Server.

Полезные материалы
Рекомендуем