OPENDATASOURCE而不是链接服务器 [英] OPENDATASOURCE instead of Linked Server
问题描述
我遇到一种情况,即与Access DB链接的服务器使我的SQL服务器崩溃.
I have a situation where a linked server to an access DB is crashing my SQL server.
此处崩溃表示添加链接服务器会导致使用该提供程序的所有其他链接服务器停止工作.对这些链接服务器的任何查询都将挂起并且无法完成.这种情况一直持续到服务器重新启动.
Crashed here means adding the linked server causes all other linked servers using that provider to stop working. Any queries to those linked servers hang and don't complete. This situation persists until the server is restarted.
但是,当我使用OPENDATASOURCE
连接到相同的数据源时,我没有这个问题.
However, when I use OPENDATASOURCE
to connect to the same data source I don't have this problem.
为什么一个工作而另一个崩溃?
Why would one work and the other crash?
我正在使用的提供程序是Microsoft.ACE.OLEDB.12.0.我启用了动态参数并启用了允许进程中.下面的查询示例
The provider I'm using is Microsoft.ACE.OLEDB.12.0. I have Dynamic parameter and Allow inprocess enabled. Example query below
select
*
from OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0',
'Data Source=\\networkPath\Reporting.accdb')...MyAccessTable
推荐答案
SQL Server崩溃可能是因为OLEDB对象填充了SQLSERV.EXE调用堆栈或数据访问库配置不正确.
SQL Server is crashing probably because the SQLSERV.EXE Call stack got filled by OLEDB object or because the data access library configuration is not correct.
尝试一下:
- 确保在提供者上激活了允许进程中"选项
- 使用-g 512启动参数以更大的调用堆栈启动SQLSERV.EXE
这篇关于OPENDATASOURCE而不是链接服务器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!