如何跨多个SQL Server操作数据库

时间:2011-09-06 23:02:06

标签: sql-server

我目前有四台不同的服务器,上面都有很多数据库。每个服务器都有1-4个数据库/表,我需要在不同的服务器上进行整合,并映射到该服务器上的表中的列。

举个例子,假设它是我在服务器D上创建的用户数据库。userId位于服务器A的数据库中的一个表中,userName位于服务器B上, dateUserStarted在服务器C上(我知道这是一个愚蠢的设置,例如它)

使用SQL Server 2008 R2,我该怎么做?我还希望运行一个更新此合并表的SQL Server代理脚本。

我查看了“链接服务器”,似乎无法使其正常运行。还有其他我应该使用的东西吗?

1 个答案:

答案 0 :(得分:1)

根据读取频率,数据大小和服务器之间的带宽,您可以使用最容易维护的远程连接解决方​​案。

在服务器D上创建一个数据库和视图,它将使用链接服务器从其他服务器加入三个数据源(userid,userName,dateUserStarted)。 例如,服务器d将有三个链接的服务器对象,称为serverA,serverB和ServerC。

您的视图将如下所示。 (我对远程表主键为“Id”做了一些假设。)

Create view vUserData
as
SELECT A.userId, B.userName,C.dateUserStarted FROM [serverA].[TheDataBaseName].[dbo].[TableWithUserId] A
   join [serverB].[TheDataBaseName].[dbo].[TableWithUserName] B on A.userId=B.id
   join [serverC].[TheDataBaseName].[dbo].[TableWithDateUserStarted] C on A.userId=C.id