上面的代码虽然可以查询出来,但是给人一种繁琐的感觉,那么我们应该如何简化它呢,想到了视图。
  首先将服务器B和C的表在服务器A生成视图
createViewView_User_B
as
(
select
*
fromopendatasource
(
'SQLOLEDB',
'DataSource=192.168.1.136;UserID=sa;Password=000'
).UserB.dbo.UserTBast1
)astt1
)
createViewView_User_C
as
(
select
*
fromopendatasource
(
'SQLOLEDB',
'DataSource=192.168.1.125;UserID=sa;Password=123'
).UserC.dbo.User_TCast1
)
  那么我们可以简化查询了:
  select*fromdbo.View_User_Bast1joinView_User_Cast2ont1.UserID=t2.UserID
  这样是实现了跨服务器,跨数据库多表联查了