SQL 服务器对 master 数据库的 OPENQUERY 运行
SQL Server OPENQUERY running against master database
我有以下声明
SELECT * FROM OPENQUERY(MyLinkedServer,'SELECT * FROM Table')
失败并出现错误
OLEDB provider "SQLNCLI10" for linked server "MyLinkedServer" returned
messages "Deffered prepare could not be completed"
当我尝试时
SELECT * FROM OPENQUERY(MyLinkedServer,'SELECT DB_NAME()')
我可以看到这些语句是针对链接服务器上的主数据库运行。
我试过了
SELECT * FROM OPENQUERY(MyLinkedServer,'USE MyDB; SELECT * FROM Table')
但这也告诉我无法准备语句。
如何控制 OPENQUERY 运行 针对链接服务器上的哪个数据库?
我运行查询的SQL服务器版本是2008R2,远程服务器是2016SP1
您可以使用 three-part 姓名:
SELECT * FROM OPENQUERY(MyLinkedServer,'SELECT * FROM MyDB.schema_name.Table')
我有以下声明
SELECT * FROM OPENQUERY(MyLinkedServer,'SELECT * FROM Table')
失败并出现错误
OLEDB provider "SQLNCLI10" for linked server "MyLinkedServer" returned messages "Deffered prepare could not be completed"
当我尝试时
SELECT * FROM OPENQUERY(MyLinkedServer,'SELECT DB_NAME()')
我可以看到这些语句是针对链接服务器上的主数据库运行。
我试过了
SELECT * FROM OPENQUERY(MyLinkedServer,'USE MyDB; SELECT * FROM Table')
但这也告诉我无法准备语句。
如何控制 OPENQUERY 运行 针对链接服务器上的哪个数据库?
我运行查询的SQL服务器版本是2008R2,远程服务器是2016SP1
您可以使用 three-part 姓名:
SELECT * FROM OPENQUERY(MyLinkedServer,'SELECT * FROM MyDB.schema_name.Table')