OPENDATASOURCE вместо связанного сервера

У меня есть ситуация, когда связанный сервер с БД доступа дает сбой моему серверу SQL.

Сбой здесь означает, что добавление связанного сервера приводит к тому, что все остальные связанные серверы, использующие этого провайдера, перестают работать. Любые запросы к этим связанным серверам зависают и не завершаются. Эта ситуация сохраняется до перезапуска сервера.

Тем не менее, когда я использую OPENDATASOURCE для подключения к тому же источнику данных у меня нет этой проблемы.

Почему один работает, а другой падает?

Я использую провайдера Microsoft.ACE.OLEDB.12.0. У меня есть динамический параметр и разрешить inprocess включен. Пример запроса ниже

select 
*
from OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0', 
    'Data Source=\\networkPath\Reporting.accdb')...MyAccessTable

1 ответ

Сбой SQL Server, вероятно, из-за того, что стек вызовов SQLSERV.EXE заполнен объектом OLEDB или неправильная конфигурация библиотеки доступа к данным.

Попробуй это:

  1. Убедитесь, что на вашем провайдере включена опция Разрешить inprocess
  2. Запустите SQLSERV.EXE с большим стеком вызовов, используя параметры запуска -g 512

Активировать Разрешить в процессе

Другие вопросы по тегам