WhatsnewinMicrosoft2000(七)

来源:互联网 发布:淘宝店价值评估 编辑:程序博客网 时间:2024/05/17 17:58
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
联合SQL2000服务器(FederatedSQLServer2000Servers)
可能大家都听说过集群服务器ClusteredServer,但是在SQL2000里面我却惊奇的发现,集群服务器不见了!取而代之的是一个叫联合服务器的东东。
现在就让我们来看看它们之间有什么区别吧。
SQL2000的能够被分散在一组独立的数据库服务器上以支持大规模的Web站点的访问需求和企业级的数据处理系统。面对日益增长的需求,只需要简单的添加一个节点服务器就可以了。
——我怎么看不出来和集群服务器有什么区别嘛?
——上课的时候,不要发出这种声音!急什么,下面自然会讲到的。再乱讲话就罚站了哦。
的COM+组件就是被来用于在集群的Windows2000服务器上实现商业逻辑层的。每个服务器上都有一套同样的COM+组件,WIndows2000自己来平衡各个服务器之间的负载。使用ClusterAdministrator可以很方便的配置集群服务器。
但是SQL2000并不支持这样的集群。SQL2000支持可更新的分布式视图(distributedpartitionedviews),用它来水平的将数据分割在一组服务器上。这使得用户可以把一个数据库服务器添加到一组数据库服务器中,这些数据库相互合作,以提供和集群数据库服务器相同的性能标准。虽然它们合作管理这些数据,但是它们之间是独立运作的。每个服务器有独立的管理界面,(当然,你可以使用EnterpriseManager来管理一组服务器,但总是作为一个Group中多个Server来管理的,并不能把它们当作是一个Server),也有各自的运作规则,可以有其他的数据和进程,只是在联合起来处理一个工作的时候才联合在一起。
SQL2000现在在多CPU的系统上可以有非常优异的性能(可以有8个或者更多的CPU),但是使用联合服务器,你几乎可以处理无限的负载。现在http://www.tpc.org最高的tpcc纪录就是12台8CPU的联合服务器完成的。(2月17日的测试结果,到现在仍然是最高的。)
数据库服务器和商业逻辑服务器不一样,运行商业逻辑的时候每个服务器都可以完成相同的工作,即使一台服务器down了也不会对系统有什么影响。而数据库就不一样,你必须把数据分散在不同的服务器上,否则对性能就没有什么提高了。而在这样的情况下,如果数据库服务器不能用于处理独自的事务,那么就显得有些浪费。

OK,课间休息15min.下面我们讲重要的话题,如何使用联合服务器

1、建立LinkedServer

SQL7就有了的东东,打开你的EnterpriseManager,Security|LinkedServers,右键NewLinkedServer...,ServerType选SQLServer,然后填上用户名口令什么的

2、在每个服务器上建立表
--OnServer1:
CREATETABLETable_1_To_30000
&nbsp;&nbsp;(ID&nbsp;&nbsp;&nbsp;INTPRIMARYKEY
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CHECK(IDBETWEEN1AND29999),
&nbsp;&nbsp;...&nbsp;&nbsp;otherfields
&nbsp;&nbsp;)

--OnServer2:
CREATETABLETable_30000_To_60000
&nbsp;&nbsp;(ID&nbsp;&nbsp;&nbsp;INTPRIMARYKEY
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CHECK(IDBETWEEN30000AND59999),
&nbsp;&nbsp;...&nbsp;&nbsp;otherfields
&nbsp;&nbsp;)

--OnServer3:
CREATETABLETable_60000_To
&nbsp;&nbsp;(ID&nbsp;&nbsp;&nbsp;INTPRIMARYKEY
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CHECK(ID&gt;60000),1<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>