如何从SQL Server链接服务器获取数据? [英] How to get data from SQL server linked server?

查看:836
本文介绍了如何从SQL Server链接服务器获取数据?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是使用链接数据库服务器的正确语法:





我尝试过:



 选择 foo.id 
来自 databaseserver1.db1.table1 foo,
databaseserver2.db1.table1 bar
其中 foo.name = bar.name

解决方案

没有。对于链接服务器,您需要使用由四部分组成的名称:

 [Server]。[Database]。[Schema]。[Object] 



假设您的表位于默认的 dbo 架构中,您的查询需要是:

 选择 foo.id 
来自 databaseserver1.db1.dbo.table1 foo ,
databaseserver2.db1.dbo.table1 bar
其中 foo.name = bar.name



您还应该避免使用旧的内部联接语法,而是使用ANSI语法:

  select  foo.id 
来自 databaseserver1.db1.dbo.table1 foo
INNER JOIN databaseserver2.db1.dbo.table1 bar
ON foo.name = bar。名称


Is this a correct syntax using linked db servers:



What I have tried:

select foo.id 
from databaseserver1.db1.table1 foo, 
     databaseserver2.db1.table1 bar 
where foo.name=bar.name

解决方案

No. For a linked server, you need to use the four-part name:

[Server].[Database].[Schema].[Object]


Assuming your tables are in the default dbo schema, your query would need to be:

select foo.id 
from databaseserver1.db1.dbo.table1 foo, 
     databaseserver2.db1.dbo.table1 bar 
where foo.name=bar.name


You should also avoid using the old inner join syntax, and use the ANSI syntax instead:

select foo.id 
from databaseserver1.db1.dbo.table1 foo
     INNER JOIN databaseserver2.db1.dbo.table1 bar 
     ON foo.name=bar.name


这篇关于如何从SQL Server链接服务器获取数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆