ccidnet????

出版日期:2000-12-25 总期号:984 本年期号:96

本期导读
要闻综合
电脑工作室
渠道与市场
产品与应用
软件与服务
InfoCD
2000年翻新SQL Server

文峰

  不妨想象一下,假如您有机会建造一个梦中家园,让全家人在今后的20年里在此安居。钱不成问题,但您想尽快乔迁新居。这种情况下,您必须权衡两点:是在搬入新居前让所有设施都一步到位呢,还是能够尽早地入住。为了解决这种矛盾,您就该精心构思、巧妙设计家中的每一个基本构件,以便在入住之后,可以按自己的意愿完成地下室的改造或是添加一个大地台。

  构建SQL Server就好比建设一个梦中家园。几年以前,微软汇集了许多出色的数据库工程师(微软内部员工和外来专家),请他们来构建人们梦寐以求的数据库。SQL Server 7.0就是那次努力的结果。SQL Server 7.0对代码库进行了大量的改写,但DBA和开发人员却无法看到或者说感受到它有多少改进之处。尽管SQL Server 7.0具有大量重要的新功能(如OLAP服务),但大部分核心改造仍是停留在页面和存储级别上进行的。我第一次看到SQL Server 2000是在去年10月微软召开的“SQL Server 高级专业人士”(MVP) 会议上。原始简报论及了关系引擎和存储引擎的内部基本结构。我有一个最深切的感受,那就是:SQL Server 2000沿用了SQL Server 7.0的基本结构并添加了一些管线。不过从许多方面来说,SQL Server 2000都好比是建成的地下室、巨型地台和家庭影院,而这些正是您希望拥有的。

  尽管SQL Server 2000较之以前的版本提供了许多改进功能,但最重要的一点就是,现在SQL Server 2000完全可以与极具竞争力的支持任何大规模和高度复杂应用程序的数据库平台相媲美了。听听SAP对微软做出的褒奖吧:“SAP确信Windows 2000上的SQL Server 2000将满足全世界每个R/3客户的需求。而且,即将推出的支持16个和32个处理器的功能以及64位平台将保证用户顺利进行必要的扩充。”

  自1997初以来,SQL Server 的TPC-C评分每年增长200%。而它的按每个事务计价的TPC-C成本却每年降低65%。

  微软梦中家园般的数据库尚未建好,不过热水浴缸和室内温水游泳池已完工,整幢房子已使人有家的感觉了。


  分布式分区视图


  微软获得了自二月中旬发布以来TPC-C基准测试的最高评分,方法是将多个高端SMP机器结合到联合数据库中,这种联合数据库可以通过使用可更新的分布式分区视图来进行扩充。微软在SQL Server 7.0中首次引进了分布式分区视图,但是,SQL Server 2000将这一功能作了更进一步的改进,允许在多个服务器之间分布这些视图,并直接通过视图更新数据库表。此功能使您能够体会SQL Server支持全异的群集时带来的优越性。微软承诺在SQL Server 2000之后的版本中实现这一功能,其代码名为Yukon。

  今天,可通过分布式视图实现数据位置独立性,但系统的体系结构仍然需要花费很多时间来规划数据布局和分布,以保证最大程度的可伸缩性。全异的群集支持通过实现数据分布管理功能和数据位置的透明化(从管理员的角度看),进一步优化了此过程。


  多实例支持


  SQL Server 2000允许在同一台机器上运行多个SQL Server实例。尽管早期版本也可以在同一台服务器上驻留多个数据库,但实际运行中,每次只允许一个服务器实例处于活动状态。多实例支持允许执行一些基本的任务,如在同一台物理机器上为开发和测试小组分别提供两个独立的SQL Server环境。更重要的是,这一功能更便于微软在完全群集化的环境中支持SQL Server。导致早期版本的SQL Server的群集问题的根源是:微软试图让SQL Server于同一个群集节点运行两个实例。如今,不必再用篡改注册的手段来执行这项操作了。较之以前的版本,SQL Server 2000的群集功能更加稳定和易于管理。


  日志传送


  日志传送功能允许您将事务日志从一个数据库连续不断地传送到另一个数据库中。它可以将来自源数据库中的事务日志进行连续备份,再将其复制并恢复到目标数据库中,从而使目标数据库与源数据库保持同步。日志传送功能使您拥有了一台热备份服务器,并使您能将主机(源服务器)上的查询进程卸载到只读目标服务器上。日志传送功能只适用于运行SQL Server 2000的经过注册的服务器。日志传送功能并不是一蹴而就的,多年以来,人们一直在开发自己的不同版本。几个月以来,微软一直将日志传送作为BackOffice 4.5 Resource Kit的一个连带产品。不过,将日志传送功能集成到SQL Server的“企业管理器”中,将促使DBA开始更有效地利用这一功能。与多实例的、具有增强功能的SQL Server群集联袂的日志传送,无疑是微软赢得这场高容错和高可用性争夺战的最威力无比的武器。


  Kerberos 和委托安全性


  Kerberos和委托安全性的集成使我们步入了真正实现Windows 2000和SQL Server之间的一次登录集成的黄金时代。增强的安全性功能使您能够将安全证书委派给下游服务器,从而只需在SQL Server级对用户进行一次身份验证即可。


  XML支持


  SQL Server 2000是功能强大的XML服务器。XML功能非常重要,因为它使SQL Server成为新兴的B2B集成市场中最具实力的竞争对手。


  级联声明引用完整性 (DRI)


  终于等来了这一天!多年以来,Access的开发人员一直对SQL Server不能支持级联DRI这一现象大为不解,而在与其他专家聊到其他重要的关系数据库管理系统(RDBMS)时,SQL Server的开发人员也深觉羞愧。这种情景不复存在了!SQL Server 2000如今也能支持级联更新。


  用户定义功能


  多年以来,UDF一直是SQL Server DBA希冀实现的新功能之一。从某种角度讲,我认为SQL Server 2000应包含跨语言的UDF支持,如用VBScript编写的UDF。不幸的是,SQL Server 2000只能实现基于T-SQL的UDF的功能。无论如何,UDF功能的实现是一个巨大的改进,它允许您以优美的格式编写不同的T-SQL批处理。

  多年以来,微软一直发行带有公认的非常出色的GUI的管理工具,与它的基于UNIX的RDBMS竞争对手相比,尤其如此。SQL Server 2000沿袭了这一传统。您会在这些工具中发现很多重要的新功能,然而,那些加以改进并完善的细小功能,如“对象浏览器”,一样会使您受益匪浅。“对象浏览器”从“查询分析器”直接提供可伸缩的“企业管理器”功能。您现在可以直观地定位数据库对象并对其执行相应的功能了。一个简单的选项,“将对象作为插入脚本编写到新窗口”(Script Object to New Window as Insert),使您用鼠标右键单击表名便可自动生成模板插入语句,它命名所有的列并在VALUES子句中提供占位符。想出这一功能的人,并不需要具有博士的头脑。但是,对于所有曾经花费五分钟的时间来剪切并粘贴列名以便插入一个长语句的人来说,这一功能无疑很受欢迎。您会喜欢“企业管理器”和管理GUI工具中绑定的许多细小的改进功能的。