如何在本地数据库里建立远程数据库上表的视图(分布式视图)
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 //当涉及其它服务器时,使用链接服务器创建视图,这时就成了“分布式分区视图”啦。
.......
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 //当涉及其它服务器时,使用链接服务器创建视图,这时就成了“分布式分区视图”啦。
.......
相关文章推荐
- 如何在本地数据库里建立远程数据库上表的视图(分布式视图)
- 如何让远程数据库中的1张表导入到本地数据库中,数据库都是SQL SERVER 2000
- mysql 本地数据库如何从远程数据库导数据
- mysql 本地数据库如何从远程数据库导数据,本文以此问题进行详细介绍
- Oracle如何通过Database Link复制远程数据库表的CLOB/BLOB字段数据到本地数据库?
- 如何上传本地数据库到远程数据库
- mysql 本地数据库如何从远程数据库导数据
- 本地与远程数据库协同操作(数据库分布式查询)
- 如何让远程数据库中的1张表导入到本地数据库中
- 如何建立通用的数据库结构?
- VC中已建立了一个view视图,如何改为scroll view视图
- [SQL] 如何获取数据库视图中所有列的名称
- 如何将本地sqlserver2000 数据库转移到虚拟主机上
- 【原创翻译】如何在本地主机上使用tbdev建立一台bt Tracker服务器【网站建设文档】
- 如何通过Web方式把服务器端的数据库备份到本地的电脑硬盘中?
- 如何建立SQL Server 2005数据库邮件
- 如何检测 SQL CE 数据库是否成功建立了合并复制
- 如何用VB建立数据库
- 如何在web.config中建立公用的的数据库连接
- 把远程数据库中的数据导入到本地数据库