【问题标题】:SQL Server OPENQUERY running against master database针对主数据库运行的 SQL Server OPENQUERY
【发布时间】:2018-04-05 15:58:10
【问题描述】:

我有以下说法

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服务器版本是2008R2,远程服务器是2016SP1

【问题讨论】:

标签: sql-server-2008-r2 sql-server-2016 linked-server openquery


【解决方案1】:

您可以使用三部分名称:

SELECT * FROM OPENQUERY(MyLinkedServer,'SELECT * FROM MyDB.schema_name.Table')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-09
    • 1970-01-01
    • 1970-01-01
    • 2013-03-19
    • 1970-01-01
    • 2013-07-19
    • 1970-01-01
    相关资源
    最近更新 更多