Sql server 2008 r2 针对主数据库运行的SQL Server OPENQUERY
我有以下声明Sql server 2008 r2 针对主数据库运行的SQL Server OPENQUERY,sql-server-2008-r2,sql-server-2016,linked-server,openquery,Sql Server 2008 R2,Sql Server 2016,Linked Server,Openquery,我有以下声明 SELECT * FROM OPENQUERY(MyLinkedServer,'SELECT * FROM Table') 这是失败的错误 已返回链接服务器“MyLinkedServer”的OLEDB提供程序“SQLNCLI10” 消息“无法完成差异准备” 当我尝试 SELECT * FROM OPENQUERY(MyLinkedServer,'SELECT DB_NAME()') 我可以看到这些语句是针对链接服务器上的主数据库运行的 我试过了 SELECT * FROM OP
SELECT * FROM OPENQUERY(MyLinkedServer,'SELECT * FROM Table')
这是失败的错误
已返回链接服务器“MyLinkedServer”的OLEDB提供程序“SQLNCLI10”
消息“无法完成差异准备”
当我尝试
SELECT * FROM OPENQUERY(MyLinkedServer,'SELECT DB_NAME()')
我可以看到这些语句是针对链接服务器上的主数据库运行的
我试过了
SELECT * FROM OPENQUERY(MyLinkedServer,'USE MyDB; SELECT * FROM Table')
但这也告诉我,这份声明无法准备
如何控制OPENQUERY运行所针对的链接服务器上的哪个数据库
我正在运行查询的SQL server版本是2008R2,远程服务器是2016SP1。您可以使用三个部分名称:
SELECT * FROM OPENQUERY(MyLinkedServer,'SELECT * FROM MyDB.schema_name.Table')
您可以使用三部分名称:
SELECT * FROM OPENQUERY(MyLinkedServer,'SELECT * FROM MyDB.schema_name.Table')
如果您只打算在远程服务器上使用一个DB,则可以在链接服务器设置中设置目录(要使用的默认DB)。否则,如果您只打算在远程服务器上使用一个DB,则可以在链接服务器设置中设置目录(要使用的默认DB)。否则见