为什么要升级到SQLServer2005

为什么要升级到SQLServer2005,第1张

为什么要升级到SQLServer2005,第2张

许多人关心和担心SQL Server 2005与以前的版本SQL Server 2000相比所做的重大改进或新功能。我升级到SQL2005之后,不得不说:你也值得拥有。(套用一句广告语,呵呵)

我总结了个人认为SQL Server 2005最值得你升级的10个理由。无论你是想了解或学习SQL Server 2005,还是正在评估或考虑升级到SQL Server 2005,相信当时看完这篇帖子,一定会对你的决策起到参考作用。

升级原因1:数据分区

只有在2005版的SQL Server中才有真正的表和索引数据分区技术。该技术使SQL Server数据库从“青壮年”成长为成熟的企业级数据库产品,是一个里程碑式的标志。数据分区技术大大加强了表的可扩展性和可管理性,使SQLServer处理海量数据的能力有了质的飞跃,这也是我认为最值得升级的原因之一。

升级的原因2:可编程性

CLR集成

SQL Server 2005的可编程性是值得升级的第二个重要原因。没有哪个版本像SQL Server 2005一样给编程带来如此多的变化。说实话,知道的那一刻我都惊呆了。有些变化是革命性的。比如CLR(公共语言运行时)集成。你可以很容易地利用的优势。NET语言,比如其面向对象的封装性、继承性和多态性,来编写需要对数据进行复杂数值计算或逻辑运算的代码,比如字符串处理、数据加密算法、XML数据操作等等。现在你需要做的就是考虑什么时候用T-SQL语言,什么时候用CLR。我估计那些SQL Server软件开发人员几乎会马上升级到SQLServer 2005,享受数据库编程的便利。

T-SQL语言增强

SQL Server 2005中的T-SQL语言有了很大的改进。其中,作者最大的褒奖是,类似于C++或C#的TRYCATCH结构现在可以用于T-SQL的错误处理,大大简化了T-SQL的错误处理编程。估计很多T-SQL语言的用户可能就是为了这个TRY-CATCH结构才急于升级到SQL Server 2005。

升级原因3:安全性

SQL Server 2005的安全功能是我认为值得升级的第三个原因。SQL Server 2005的安全性达到了前所未有的水平,它比以前的版本有了更清晰的安全模型,即主体、安全对象和权限。

如果需要保护数据库中的敏感数据,那么SQL Server2005中的数据加密功能绝对值得考虑。之前不止一次有客户问我如何对数据库中的一些数据进行加密,是否可以使用PWDENCRYPT等一些内部未公开的函数对数据进行加密。我的答案是使用Windows的EFS(加密文件系统)功能,对数据库文件进行加密,或者在存储数据之前在应用层对数据进行加密。现在期待已久的数据加密功能终于在SQL Server 2005中实现了,那些有机密数据要保护的用户们高兴了。SQL Server 2005并不是简单的提供一些加密功能,而是将市场上成熟的数据安全技术引入到数据库中,具有清晰的加密层次。SQL Server 2005支持证书、非对称密钥和对称密钥算法,可以防止敏感数据泄露和数据被篡改。对称密钥支持RC4、RC2、TripleDES和AES算法,而非对称密钥使用RSA算法。实际上,证书是非对称密钥中公钥的容器。密钥管理是安全性的薄弱环节。SQL Server 2005的每一层都使用证书、非对称密钥和对称密钥的组合对其下一层进行加密,提高了密钥安全性。出于性能考虑,一般不需要非对称密钥或加密强度强的证书,直接对数据进行加密。而是用对称密钥加密数据以获得更快的性能,然后用证书或非对称密钥加密对称密钥。

升级原因4:快照隔离

你还在担心系统阻塞或者死锁吗?请在SQL Server 2005中尝试快照隔离。通过行版本控制技术,SQL Server 2005在原有的四个事务隔离级别(脏读、提交读、可重复读和串行读)的基础上增加了一个快照隔离级别,这可能会使阻塞或死锁成为过去。SQL Server在TEMPDB中存储不同版本的数据行,select语句读取这些不同版本的行。读操作不会阻塞写数据,写操作也不会阻塞读操作,所以那些有大量读/写争用导致死锁的系统会从中获得无限的好处。如果您的系统复杂且难以优化,请升级到SQL Server 2005并尝试快照隔离级别,这可能会产生意想不到的效果。

SQL Server 2005中的快照隔离可以细分为两种类型:READ_COMMITTED_SNAPSHOT和ALLOW_SNAPSHOT_ISOLATION。建议您使用前者,因为提交的读取隔离无需任何更改即可用于大多数现有应用程序,并且占用的TEMPDB空空间较少。可以预见,如果使用快照隔离级别,应该特别注意TEMPDB的大小和性能。也许你需要把TEMPDB放在一个单独的磁盘上,有足够的空来提高性能。

考虑到快照隔离在避免阻塞和死锁方面的作用,我把它作为升级的第四个理由。
升级的原因5:数据库镜像

对于那些需要高可用性的用户,数据库镜像可能是考虑升级的原因。SQL Server 2005的早期版本在高可用性方面提供了故障转移群集和日志传送方案。集群方案的一个优点是,当机器出现故障时,它可以提供极快的故障转移能力。当数据库在备份服务器上联机时,只需要重新连接应用程序。集群方案的一个缺点是数据库放在共享磁盘上,这就有了单点故障。一旦共享磁盘出现故障,整个系统就会崩溃。因此,集群方案通常与严格备份方案一起使用。但是日志运送系统有时间延迟,如果日志备份量大,传输速度也是个问题。SQL Server 2005引入的数据库镜像可用作故障转移群集或日志传送的替代或补充方案,以提高数据库的高可用性。镜像的主要优点是比前两者更易于管理,并且没有集群的单点故障和日志传送的时间延迟。镜像服务器可以放在很远的地方,提高了作为备份服务器的高可用性。

升级原因6: BI增强。

SQL Server 2005对于已经或打算开发基于SQL Server的商业智能解决方案的用户来说非常有吸引力。SQL Server 2005中有许多关于商业智能的增强,这是升级的好理由。首先,传统的DTS(数据转换服务)被新的is(集成服务)所取代。SQL Server 2000中的DTS是用来在不同的服务器之间传递数据的,但是对于复杂重复的工作流DTS来说是非常困难的。IS重写了DTS的数据流引擎,引入了新的提取、转换和加载(ETL)数据的编程系统,将数据流与控制流分离,大大增强了开发能力,并将包的部署、管理和性能提高了一个数量级。在作者看来,DTS终于从最初的小打小闹成长为一个成熟的IS数据集成服务系统。

SQL Server 2005中的Analysis Services也有许多改进。结果发现没有一个剖析器愿意跟踪分析服务中的语句,这是很痛苦的。现在2005终于支持profiler了。Profiler对于性能调优和故障排除非常有用。Analysis Service 2005具有实时分析能力,增加了四种新的数据挖掘算法,并且还支持。NET语言开发(如存储过程等。).对于报表服务,在2005版本中增加了两个新工具,报表生成器和模型设计器,它们支持报表拖动设计。2005年的报告是改进,如新的打印功能,多值参数等。设计过报表的人都会深刻体会到多值参数的妙处。

另外,无论是还是举报服务等。可以在类似于Visual Studio的环境下开发。非常容易上手,因为任务只能通过拖动鼠标来完成。

原因7:全文搜索得到了增强。

与SQL Server 2005的上一版本相比,性能提升最高的部分是全文检索。SQL Server 2000和SQL Server 7.0中的全文检索差别不大,都是在可用的级别。在SQL Server 2000中使用全文索引的痛苦之处在于,全文索引的性能很差,而且耗时太长,尤其是当表很大时。一个有几千万行数据的表,可能需要几个小时到几天才能完成全文索引的建立。SQL Server 2005全文检索在开发过程中关注三点:性能、集成和可伸缩性。根据开发团队的简单测试,以前在SQL Server 2000中建立一个全文索引需要14天,现在只需要几个小时!几乎有上百倍的性能提升,只能用“惊艳”来形容。其相关的全文检索语句也有30% ~ 50%甚至更高的性能提升。性能的提升得益于新设计的全文搜索引擎。其中一个关键点是,现在全文搜索引擎使用共享内存和SQL Server进行大规模并发数据交互,而不是原来的逐行方式,使得性能提高了几个数量级。

除了性能之外,SQL Server 2005中全文索引的集成也得到了极大的增强。在SQL Server 2000中很难备份全文检索。一旦数据库被恢复或移动,您必须重建索引。对于数百GB的数据库,重建索引几乎是一场无法接受的噩梦。现在,您终于可以将全文索引与数据库一起备份和还原了。恢复数据库后,您不再需要重建全文索引!噩梦终于成为历史。除了备份,还可以方便地更改全文索引的磁盘位置。您甚至可以在热备用机器上构建全文索引,然后将索引复制到生产服务器上使用。

升级原因8:增强的可用性

指数在线操作。除了数据库镜像之外,SQL Server 2005在可用性方面还有许多其他改进。现在,可以使用ONLINE关键字在线构建、重建或删除索引。它的技术要点是在内存中动态生成索引的另一个副本,从而不影响原来的查询。一旦索引副本完成操作,它将替换原始索引并成为当前索引。我认为在线操作索引意义重大,因为很多数据库系统都有定期调整或维护索引的需求。有了2005,你就不用担心业务的正常运行而大胆地维护或修改指数了。

页面校验和。SQL Server 2005在数据库页中引入了校验和,以增强数据的可靠性。除了SQL Server 2000中存在的TORN_PAGE_DETECTION之外,SQL Server 2005还新实现了页面校验和。您可以使用ALTER DATABASE语句的SET PAGE_VERIFY子句来指定它。其原理是,当一个8K数据页写入磁盘时,SQL Server会计算整个8K页内容的校验和,并将值存储在页头中。当再次从磁盘读取该页时,SQL Server会动态计算读取的页内容的校验和,并将其与存储在页头中的校验和值进行比较。如果不相等,说明页面物理损坏,需要检查IO硬件。设置checksum的另一个好处是,还可以在备份和还原操作过程中使用RESTORE VERIFYONLY语句验证每个数据页的完整性,从而确认备份文件没有物理损坏。

在线还原。在数据库的一部分恢复之前,用户不能访问它,但他们可以访问所有其他数据。在SQL Server 2000中,如果正在还原或恢复数据库,用户将无法访问该数据库。这样,如果数据库很大,并且有许多事务需要回滚或前滚,则恢复时间会出奇地长。SQL Server 2005的在线还原功能使数据库在短时间内可用。

升级原因9:复制增强

SQL Server 2000中的复制功能已经很不错了。我这里用复制作为升级的理由,因为SQL Server 2005在原来的基础上增加了很多功能。例如,对等复制可以在参与者之间进行复制,因此您可以使用对等复制在复制参与者之间建立一定程度的负载平衡。Merge现在支持通过HTTPS进行数据同步,这有助于建立基于INTERNET的复制。发布表现在可以使用Alter Table等标准T-SQL语句进行结构修改然后复制,而不仅仅是使用sp_repladdcolumn和sp_repldropcolumn存储过程。在SQL Server 2000中,只支持将数据发布到其他数据库(如DB2或Oracle),而在SQL Server 2005中,Oracle数据库可以直接复制到SQL Server。可以从备份中初始化事务订阅,而不仅仅是从快照中初始化复制,等等...

升级原因10:异步处理能力

SQL Server 2005通过引入新的Service Broker提供了革命性的异步处理功能。Service Broker提供了一个强大的异步编程模型。它在数据库应用中增加了可靠的、可扩展的、分布式的异步函数异步编程,允许程序只有在资源可用的情况下才能执行占用大量资源的任务,从而缩短响应时间,提高吞吐量。在我看来,broker的优势是异步执行能力,提高了可伸缩性、可靠执行、在数据库中的集成性,这样在备份数据库的时候也备份了Broker的消息队列。SQL Server 2005中的查询通知是基于Service Broker的应用程序。您可以使用查询通知功能向SQL Server发送命令,请求在查询结果更改时从SQL Server接收通知。这样,只有当程序先前检索的结果发生变化时,才需要再次查询数据库。一个可预见的应用是在使用缓存的网站中。网站首先向数据库服务器发送语句,获取数据,将其缓存在本地,然后清除缓存,只有在收到查询通知时才重新查询数据。这种机制避免了对SQL Server的重复轮询,大大降低了服务器的负载,提高了网站的可扩展性。

因为SQL Server 2005的Service Broker带来了数据库编程异步处理能力的革命,所以我把它作为升级的第十个理由。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 为什么要升级到SQLServer2005

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情