当前位置:文档之家› sql2005与sql2000的比较

sql2005与sql2000的比较

sql2005肯定安全性要高,sql2000只支持最大2G内容.SQLServer2005相对它的前版本SQLServer2000所做的重大改进或新增功能。升级理由一:数据分区只有到了2005版本SQLServer才拥有了真正的表和索引数据分区技术。这个技术一下子使SQLServer数据库从“青壮年”成长为成熟的企业级数据库产品,是一个里程碑性质的标志。数据分区技术极大加强了表的可伸缩性和可管理性SQLServer2005功能,使得SQLServer处理海量数据的能力有了质的飞跃,是我认为最值得升级的一个理由。

升级理由二:可编程性CLR集成

SQLServer2005的可编程性是值得升级的第二个重要理由。从来没有哪一个版本能像SQLServer2005这样带来这么多编程方面的变革。说老实话,在我知道的瞬间我是惊呆了。有些变化是革命性的。如CLR(CommonLanguageRuntime,公共语言运行时)集成。你可以轻松利用.NET语言的优势如其面向对象的封装、继承和多态特性,编写出那些需要对数据进行复杂数值计算或逻辑的代码,如字符串处理,数据加密算法,XML数据操作等等。你现在需要的仅仅是考虑什么时候使用T-SQL语言,什么时候使用CLR。我猜测那些SQLServer软件开发商几乎会立即升级到SQLServer2005享受数据库编程的便捷。T-SQL语言增强

SQLServer2005中的T-SQL语言有了非常大的改进。其中笔者最为称道的是现在可以使用和C++或C#类似的TRYCATCH结构对T-SQL进行错误处理了,大大简化了T-SQL错误处理编程。估计很多T-SQL语言使用者可能就为了这个TRY-CATCH结构而迫不及待地升级到SQLServer2005。

升级理由三:安全SQLServer2005的安全功能是我认为值得升级的第三个理由。SQLServer2005的安全达到了前所未有的强大水平,有着比以前版本更清晰的安全模型即主体,安全对象和权限。如果你需要保护数据库中的敏感数据,那么SQLServer2005中的数据加密功能绝对值得考虑。以前不止一次有客户问我如何加密数据库中的某些数据,是否可以使用一些内部不公开的函数如PWDENCRYPT加密数据。我的回答是使用Windows的EFS(加密文件系统)功能加密数据库文件或在应用程序层对数据加密后再存储。现在用户期盼已久的数据加密功能终于在SQLServer2005中得到实现,那些有机密数据需要保护的用户值得高兴了。SQLServer2005不是简单的提供一些加密函数,而是把市场上已经成熟的数据安全技术引

进到数据库中,有一个清晰的加密层次结构。SQLServer2005支持证书(certificate),非对称密钥和对称密钥算法,一是防止敏感数据被泄漏,二是防止数据被篡改。对称密钥支持RC4,RC2,TripleDES和AES算法,而非对称密钥使用RSA算法。证书其实就是非对称密钥中公钥的容器。密钥管理是安全中比较弱的部分。SQLServer2005每一层都使用证书、非对称密钥和对称密钥的组合对它下面的一层进行加密,提高了密钥安全性。出于性能考虑,一般不用加密强度大的非对称密钥或证书直接加密数据,而是使用对称密钥加密数据获得较快的性能,然后使用证书或非对称密钥加密对称密钥。

升级理由四:快照隔离你还在为系统出现的阻塞(blocking)或死锁(deadlock)现象苦恼吗?快试试SQLServer2005中的快照隔离吧。通过行版本(rowversioning)控制技术,SQLServer2005除了原来支持的四种事务隔离级别(脏读、提交读、可重复读、可串行读)外新增了一个快照(SNAPSHOT)隔离级别,有可能使阻塞或死锁成为历史。SQLServer在TEMPDB中存放不同版本的数据行,select语句读取这些不同版本的行,读操作不阻塞写数据,写操作也不阻塞读操作,这样那些由于读/写争用导致的大量死锁的系统将从中获得无穷益处。如果你的系统复杂难优化,那么升级到SQLServer2005试试快照隔离级别,也许会有意想不到的效果。SQLServer2005中的快照隔离可细分为两种即READ_COMMITTED_SNAPSHOT和ALLOW_SNAPSHOT_ISOLATION。建议大家多使用前者,因为已提交读隔离可用于大多数现有应用程序,而不需要进行任何更改,其占用的TEMPDB空间也少。可以预见如果使用快照隔离级别,那么需要特别关注TEMPDB的大小和性能。你也许需要把TEMPDB放在有足够空间的单独磁盘上以提高性能。考虑到快照隔离在避免阻塞和死锁方面的作用,我把它作为升级的第四个理由。

升级理由五:数据库镜像对于那些要求高可用性的用户来说,数据库镜像也许是考虑升级的唯一理由。SQLServer2005的前版本在高可用性方面提供了故障转移群集(FailoverCluster)和Logshipping方案。群集方案的一个好处是在一台机器发生问题时

它可以提供极快的故障转移能力,在备份服务器上联机数据库,应用程序只需重新连接即可。群集方案的一个缺点是数据库放在共享盘上,有单点失效这个缺点,一旦共享盘失败将导致整个系统崩溃。所以群集方案一般都要结合严紧的备份方案一起使用。而logshipping系统有一个时间上的延迟,且如果日志备份很大,传送速度也是个问题。SQLServer2005引入的数据库镜像可作为故障转移群集或Logshipping的替代或补充方案来提高数据库的高可用性。镜像的主要优点是它比前两者更容易管理,没有群集的单点失效缺点,也没有logshipping的时间延迟。镜像服务器可以放在很远的地方,提高了作为备份服务器的高可用性。

升级理由六:商务智能BI增强SQLServer2005对已经有或打算开发基于SQLServer的商务智能方案的用

户吸引力极大。SQLServer2005中有关商务智能方面的增强很多,是升级的很好理由。首先是传统的DTS(DataTransformationServices)被新的IS(IntegrationServices)代替。SQLServer2000中的DTS用来在不同服务器之间转移数据,但对于复杂重复的工作流DTS倍感吃力。IS重新改写了DTS的数据流引擎,引入提取、转换和加载(ETL)数据的新编程体系,将数据流与控制流分开,开发能力大大加强,包部署、管理和性能方面也比DTS上了一个数量级。笔者看来,DTS终于从原来的小打小闹成长为成熟的IS数据集成服务体系。分析服务(AnalysisServices)在SQLServer2005中也有很多改进。原来没有profiler想跟踪分析服务里面的语句非常痛苦。现在2005终于支持profiler了。Profiler对性能调优和排查错误将非常有用。分析服务2005真正具备了实时分析能力,新增加了四种数据挖掘算法,也支持.NET语言进行开发(如存储过程等)。至于报表服务,2005版本中添加了报表生成器和模型设计器这两个新工具,支持报表拖拉设计。2005的报表改进如新的打印功能、多值参数等。设计过报表的人员会深深知道多值参数的妙处。另外SQLServer2005功能,无论是IS、报表服务等都可以在类似VisualStudio的环境中开发,任务完成不过鼠标拖拉之间,非常容易上手。

升级理由七:全文搜索增强相对前版本SQLServer2005中性能提升最多的部分当数全文检索。SQLServer2000中的全文本检索和SQLServer7.0中的差别不大,处于能用的水平。在SQLServer2000中使用全文检索一个最大的痛苦是建立全文索引的性能不好,需要的时间太长,特别是在表很大的情况下。一个几千万行数据的表也许需要数个小时到数天时间才能完成全文索引的建立。SQLServer2005全文检索在开发的时候就集中于三点:性能,集成和可扩展性。据开发小组人员的简单测试,原来在SQLServer2000中建立全文索引需要14天的表,现在只需要几个小时!几乎有上百倍的性能提升,只能用“惊异”来形容。其相关的全文检索语句也有30%~50%甚至更高的性能提高。性能方面的提高得益于全新设计的全文检索引擎。其中关键的一点设计是全文检索引擎现在使用共享内存和SQLServer进行数据大规模并发交互,而不是原来基于逐行的方式,使得性能上了好几个数量级。除了性能,SQLServer2005中的全文索引的集成性也大大加强。在SQLServer2000中很难对全文检索进行备份。一旦有数据库恢复或移动,你得重新重建索引。对于几百个GB的数据库,重建索引几乎是不能接受的恶梦。现在终于可以和数据库一起备份和恢复全文索引了。你不再需要在恢复数据库后重建全文索引了!恶梦终于成为历史。除了可以备份外,你也可以方便的改变全文索引的磁盘位置。你甚至可以在一个热备机器上把全文索引建立好,然后copy这个索引到生产服务器上使用。

升级理由八:可用性功能增强索引联机操作。除了数据库镜像,SQLServer2005中可用性还有很多其他提高。索引现在可以使用ONLINE关键字进行在线建立或重建或删除了。它的技术要点是在内存里面动态生成索引的另一个副本从而不影响原来查询的进行。一旦索引副本完成操作即替代原来索引成为当前索引。我认为索引联机操作的意义是很大的,因为很多数据库系统都有定期调整或维护索引方面的需求。有了2005你无需担心业务的正常运行而大胆的对索引进行维护或修改。页校验和。SQLServer2005中的数据库页引入校验和增强了数据的可靠性。除了原来SQLServer2000中已有的TORN_PAGE_DETECTION外,SQLServer2005新增实现了页的检验和(CHECKSUM)。你使用ALTERDATABASE语句的SETPAGE_VERIFY子句即可指定。它的原理是向磁盘中写入8K数据页面时,SQLServer计算整个8K页面内容的校验和并将该值存

相关主题