# SQL Server 跨服务器访问数据 参考链接: [sp_addlinkedserver](https://msdn.microsoft.com/zh-cn/library/ms190479.aspx) [sp_addlinkedsrvlogin](https://msdn.microsoft.com/zh-cn/library/ms189811.aspx) > 需求:两个一模一样的表,分别分布在两个服务器的数据库上,现在要在一个表中,查看这两个表的内容 1. 在本地数据库查询分析器中,运行以下两段语句: ```sql -- 创建链接服务器 exec sp_addlinkedserver @server = 'rmtsrvname', -- 给要链接的服务器取的别名,也可以用下面的 IP 地址 @srvproduct = '', -- 空 @provider = 'SQLOLEDB', -- 不需要修改 @datasrc = '192.168.1.1' -- 需要连接的服务器IP,如果链接服务器数据库有添加端口号的话,就要改成 '192.168.1.1,端口号' -- 登录链接服务器 exec sp_addlinkedsrvlogin 'rmtsrvname', -- 上面取的服务器别名 'false', NULL, 'username', -- 帐号,可以是服务器上某个数据库的用户,不一定要 sa 'password' -- 密码 ``` 2. 联合查询 ```sql select id, a, b from table1 union(select id, a, b from [rmtsrvname].[dbname].dbo.table1 as table2) order by id ```