日期:2014-05-18  浏览次数:20426 次

SQL多台数据库服务器链接.
一条SQL语句,要同时操作两个服务器上的数据库,怎么写,谢谢。

------解决方案--------------------
先将这两个服务器上的 DB 建立链接
然后
SQL code

select a.* from db_nameA.dbo.tab_name a join [192.168.1.2].[db_nameB].[dbo].[tab_name] b on a.id=b.id  --在db_nameA 上建立到 db_nameB 上的链接
--或者
select a.* from [192.168.1.1].[db_nameA].[dbo].[tab_name] a join [192.168.1.2].[db_nameB].[dbo].[tab_name] b on a.id=b.id

------解决方案--------------------
把所有处理过程写进1个存储过程即可,

一条SQL语句: exec [存储过程]
------解决方案--------------------
可以用存储过程,但是执行存储过程不也是其中一个数据库的Connection吗,如何两者相关联呢。
------解决方案--------------------
探讨
可以用存储过程,但是执行存储过程不也是其中一个数据库的Connection吗,如何两者相关联呢。

------解决方案--------------------
用sp_addlinkedserver,sp_addlinkedsrvlogin.
参考 
http://msdn.microsoft.com/zh-cn/library/ms190479(v=sql.105).aspx
http://msdn.microsoft.com/zh-cn/library/ms189811(v=sql.105)