您的位置:首页 > 数据库

如何在本地数据库里建立远程数据库上表的视图(分布式视图)

2015-01-07 21:23 232 查看
分布式视图在多数据库服务器分布架构中应用广泛,她可以提高整个系统的运行性能,并同时保证其数据的一致性。以下是本人在使用过程中写的“鱼”笔记:

1,建立“链接服务器”

这一步是重点。打开“企业管理器”,在“安全性”下有一项“链接服务器”,这就是用来在本地数据库系统中远程访问远程数据库的。点击右键->新建一个:

a.先输入链接服务器的名称,自己取一个名,如server01;

在服务器类型下,不要选择SQL Server,(如果选择这个,那么上面的名称就是“服务器地址,端口”,而带地址的“链接服务器”名称是无法通过本地SQL语句来访问的)。所以,这里选择第二项“其它数据源”,然后在后面的数据源中选择相当的数据源,比如远程数据库也是MSSQL时,可以选择“Microsoft OLE DB Provider For SQL Server ”;然后在下面的“数据源”填写远程数据库的IP和端口(如:117.0.233.33,1143).

b.再转到第二个标签“安全性”,选择下面最后一项“用此安全上下文进行,并输入远程数据库访问的用户名和密码。

c.在第三个标签页“服务器选项”中,可以设置超时时间等信息

点击“确定”完成链接服务器的创建。这时点开刚建立的链接服务器,会看到下面有“表”和“视图”这项,点击其中一项,本地就开始连接远程数据库,如果连接正常,不会报错,但并不会显示任何的表或视图,这是正常的。

 
2,使用“链接服务器”在本地DBS操作远程DBS上的数据

可以到查询分析器中测试,以上面建立的链接服务器上的数据库db01中的表table1为例:

select * from server01.db01.dbo.table1 order by id desc

 
3,使用“链接服务器”在本地建立带有远程数据库上表数据的视图

只要链接服务器链接正常,那么建立视图也一样通过2中所述的语法进行

 
4,关于分布式分区视图的创建

这里先说一下分区视图,我们知道视图可以将多个表中的数据整合起来。当我们整合的是多个相同结构的表(列和列属性都相同),这时就用到了分区视图,比如,某站的销售明细记录,是一天一张表,而我们需要得到一周,或一个月的明细,这时就可以通过分区视图来做,使用的是“union all ”语句,如下:

Create view DPV_Customers  As

   Select *  from SALE_20120301

   Union all

   Select *  from  SALE_20120302

      Union all

      Select * from Server02.saledb.dbo.SALE_20120303   //当涉及其它服务器时,使用链接服务器创建视图,这时就成了“分布式分区视图”啦。

      .......
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息