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 или неправильная конфигурация библиотеки доступа к данным.
Попробуй это:
- Убедитесь, что на вашем провайдере включена опция Разрешить inprocess
- Запустите SQLSERV.EXE с большим стеком вызовов, используя параметры запуска -g 512