查询链接的sql server

24 sql-server linked-server

我添加了一个链接服务器,它显示在链接服务器列表中,但是当我查询它时,它会引发数据库服务器名称的错误.

EXEC sp_helpserver
EXEC sp_addlinkedserver 'aa-db-dev01'
Select * from openquery('aa-db-dev01','Select * from TestDB.dbo.users')
Run Code Online (Sandbox Code Playgroud)

消息102,级别15,状态1,行
1'aa-db-dev01'附近的语法不正确.

And*_*air 47

SELECT * FROM [server].[database].[schema].[table]
Run Code Online (Sandbox Code Playgroud)

这适合我.SSMS intellisense可能仍会将此作为语法错误强调,但如果您的链接服务器已配置且查询正确,则它应该有效.

  • @AndreasNiedermair A)SQL Server只是链接服务器关系的一半* - 您直接访问的服务器."其他"链接服务器可能是也可能不是SQL Server,并且宣布4点式部分是引用它的方式,它将使那些链接非SQL Server的人不知所措地想知道为什么它不起作用他们B)我不明白你在谈论什么非关系语境.链接服务器仍然可以是关系型的; 只是处理查询可能无法在链接服务器位置完成 (3认同)

BTB*_*BTB 25

您需要从链接服务器名称周围删除引号.它应该是这样的:

从openquery中选择*(aa-db-dev01,'Select*from TestDB.dbo.users')


Guo*_*ang 6

您可以使用:

SELECT * FROM [aa-db-dev01].[TestDB].[dbo].[users];
Run Code Online (Sandbox Code Playgroud)