SqlSever 2000创建链接服务器——分布式数据库

网友投稿 721 2023-04-03

SqlSever 2000创建链接服务器——分布式数据库

SqlSever 2000创建链接服务器——分布式数据库

目前在做一个项目,改善数据库的性能。由于数据量过大,一年累积的数据量大概有30多个G,服务器是一台机子,这么的数据量导致插入数据时速度极慢,时间一长,超时,数据丢失。解决这个问题最好的方法就是分布式数据库。初涉分布式数据库,我们觉得在SqlServer2000 中使用链接服务器算是分布式数据库,这样你可以访问别的服务器上的数据库或者视图。

1
有截图的,但是不会贴上来,很郁闷~~~

配置方法方法一: 1.建立链接服务器。 打开一个SQL查询分析器,输入命令:

1
exec sp_addlinkedserver  '链接别名','产品名称,(可以为空)','连接字符串,对SQL SERVER而言,用SQLOLEDB ','远程服务器名或ip地址' 

例如:

1
exec sp_addlinkedserver 'Elan_link','','SQLOLEDB','192.168.1.19' 

这样,打开企业管理器-》安全性-》链接服务器下,你就可以看到你新建的链接。但是单击表,会出现错误,因为还没有建立信任链接以登录到你的链接的服务器上。 2.建立信任链接。在SQL查询分析器中重新输入命令:

1
  exec sp_addlinkedsrvlogin '链接别名','false',null,'用户名','密码' 

例如:

1
 exec sp_addlinkedsrvlogin 'Elan_link','false',null,'sa','sa' 
1
exec sp_addlinkedserver 'Elan_link','','SQLOLEDB','192.168.1.19','','','tjxt' 

最后一个参数是指定链接服务器的数据库名称。这样在利用和方法一的第二步相同的语句以后,单击你所建立的链接服务器下表时,你看到的表是你指定的数据库下的表,别的表看不到,如图3。 成功建立以后,我们对链接服务器进行操作了。这和本地数据表操作的唯一区别就是加上链接名称。

1
select * from 链接别名.数据库名.所有者.表名 

一般情况下,我们创建的表的所有者都是dbo 例如:

1
select * from Elan_link.pubs.dbo.jobs  

可以看到查询结果。 现在你可以使用两种建立两个链接服务器。 在方法一建立的链接服务器后,执行命令:

1
select * from Elan_link1.teacMana1.dbo.T_user 

在方法二建立时,指定链接数据库为teacMana1(当然这得在远程的计算机上有这个数据库), 执行命令:

1
select * from Elan_link2.teacMana1.dbo.T_user 

你会发现结果是一样的,都能查处来teacMana1.dbo.T_user中的数据。 再执行:(前提是txtj存在)

1
  select * from Elan_link1.txtj.dbo.T_user 
1
  select * from Elan_link2.txtj.dbo.T_user 

发现结果还是一样的,没有任何影响。 所以现在的遗留问题是,貌似这两种方法对访问的库没有限制,你可以访问你链接的服务器上的任何数据库。唯一的区别就是在本地看到的远程服务器的表不同,但是可以访问的是一样的。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Google的分布式关系型数据库F1和Spanner
下一篇:分布式数据库greenplum详解
相关文章