如何在本地数据库里建立远程数据库上表的视图(分布式视图)
程序员文章站
2022-05-28 20:50:42
...
分布式视图在多数据库服务器分布架构中应用广泛,她可以提高整个系统的运行性能,并同时保证其数据的一致性。以下是本人在使用过程中写的“鱼”笔记: 1,建立“链接服务器” 这一步是重点。打开“企业管理器”,在“安全性”下有一项“链接服务器”,这就是
分布式视图在多数据库服务器分布架构中应用广泛,她可以提高整个系统的运行性能,并同时保证其数据的一致性。以下是本人在使用过程中写的“鱼”笔记:
1,建立“链接服务器”
这一步是重点。打开“企业管理器”,在“安全性”下有一项“链接服务器”,这就是用来在本地数据库系统中远程访问远程数据库的。点击右键->新建一个:a.先输入链接服务器的名称,自己取一个名,如server01;
在服务器类型下,不要选择SQL Server,(如果选择这个,那么上面的名称就是“服务器地址,端口”,而带地址的“链接服务器”名称是无法通过本地SQL语句来访问的)。所以,这里选择第二项“其它数据源”,然后在后面的数据源中选择相当的数据源,比如远程数据库也是MSSQL时,可以选择“Microsoft OLE DB Provider For SQL Server ”;然后在下面的“数据源”填写远程数据库的IP和端口(如:117.0.233.33,1143).
点击“确定”完成链接服务器的创建。这时点开刚建立的链接服务器,会看到下面有“表”和“视图”这项,点击其中一项,本地就开始连接远程数据库,如果连接正常,不会报错,但并不会显示任何的表或视图,这是正常的。
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 //当涉及其它服务器时,使用链接服务器创建视图,这时就成了“分布式分区视图”啦。
.......