首頁 資料庫 mysql教程 为什么要升级到SQL Server 2005

为什么要升级到SQL Server 2005

Jun 07, 2016 pm 03:05 PM
server sql 為什麼 升級

很多人关心的和担心的都是 SQL Server 2005 相对它的前版本SQL Server 2000所做的重大改进或新增功能。在我 升级 到SQL2005之后,不得不说的:你也值得拥有。(套用一句广告语,呵呵) 我总结了一下个人认为SQL Server 2005 中最值得你为之 升级 的10 个理由。

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

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

  升级理由一:数据分区

  只有到了2005 版本SQL Server才拥有了真正的表和索引数据分区技术。这个技术一下子使SQL Server数据库从“青壮年”成长为成熟的企业级数据库产品,是一个里程碑性质的标志。数据分区技术极大加强了表的可伸缩性和可管理性,使得SQLServer 处理海量数据的能力有了质的飞跃,是我认为最值得升级的一个理由。

  升级理由二:可编程性

  CLR 集成

  SQL Server 2005的可编程性是值得升级的第二个重要理由。从来没有哪一个版本能像SQL Server 2005 这样带来这么多编程方面的变革。说老实话,在我知道的瞬间我是惊呆了。有些变化是革命性的。如CLR(Common Language Runtime,公共语言运行时)集成。你可以轻松利用.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。

  升级理由三:安全

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

  如果你需要保护数据库中的敏感数据,那么SQL Server2005 中的数据加密功能绝对值得考虑。以前不止一次有客户问我如何加密数据库中的某些数据,是否可以使用一些内部不公开的函数如PWDENCRYPT加密数据。我的回答是使用Windows的EFS(加密文件系统)功能加密数据库文件或在应用程序层对数据加密后再存储。现在用户期盼已久的数据加密功能终于在SQL Server 2005 中得到实现,那些有机密数据需要保护的用户值得高兴了。SQL Server 2005不是简单的提供一些加密函数,而是把市场上已经成熟的数据安全技术引进到数据库中,有一个清晰的加密层次结构。SQL Server 2005 支持证书(certificate),非对称密钥和对称密钥算法,一是防止敏感数据被泄漏,二是防止数据被篡改。对称密钥支持RC4,RC2,TripleDES 和AES算法,而非对称密钥使用RSA 算法。证书其实就是非对称密钥中公钥的容器。密钥管理是安全中比较弱的部分。SQL Server 2005 每一层都使用证书、非对称密钥和对称密钥的组合对它下面的一层进行加密,提高了密钥安全性。出于性能考虑,一般不用加密强度大的非对称密钥或证书直接加密数据,而是使用对称密钥加密数据获得较快的性能,然后使用证书或非对称密钥加密对称密钥。

  升级理由四:快照隔离

  你还在为系统出现的阻塞(blocking)或死锁(deadlock)现象苦恼吗?快试试SQL Server 2005 中的快照隔离吧。通过行版本(row versioning)控制技术,SQL Server 2005 除了原来支持的四种事务隔离级别(脏读、提交读、可重复读、可串行读)外新增了一个快照(SNAPSHOT)隔离级别,有可能使阻塞或死锁成为历史。SQL Server在TEMPDB中存放不同版本的数据行,select 语句读取这些不同版本的行,读操作不阻塞写数据,写操作也不阻塞读操作,这样那些由于读/ 写争用导致的大量死锁的系统将从中获得无穷益处。如果你的系统复杂难优化,那么升级到SQL Server 2005 试试快照隔离级别,也许会有意想不到的效果。

  SQL Server 2005中的快照隔离可细分为两种即READ_COMMITTED_SNAPSHOT和ALLOW_SNAPSHOT_ISOLATION。建议大家多使用前者,因为已提交读隔离可用于大多数现有应用程序,而不需要进行任何更改,其占用的TEMPDB空间也少。可以预见如果使用快照隔离级别,那么需要特别关注TEMPDB的大小和性能。你也许需要把TEMPDB放在有足够空间的单独磁盘上以提高性能。

  考虑到快照隔离在避免阻塞和死锁方面的作用,我把它作为升级的第四个理由。

  升级理由五:数据库镜像

  对于那些要求高可用性的用户来说,数据库镜像也许是考虑升级的唯一理由。SQL Server 2005的前版本在高可用性方面提供了故障转移群集(Failover Cluster)和Log shipping方案。群集方案的一个好处是在一台机器发生问题时它可以提供极快的故障转移能力,在备份服务器上联机数据库,应用程序只需重新连接即可。群集方案的一个缺点是数据库放在共享盘上,有单点失效这个缺点,一旦共享盘失败将导致整个系统崩溃。所以群集方案一般都要结合严紧的备份方案一起使用。而logshipping系统有一个时间上的延迟,且如果日志备份很大,传送速度也是个问题。SQL Server 2005引入的数据库镜像可作为故障转移群集或Log shipping 的替代或补充方案来提高数据库的高可用性。镜像的主要优点是它比前两者更容易管理,没有群集的单点失效缺点,也没有log shipping 的时间延迟。镜像服务器可以放在很远的地方,提高了作为备份服务器的高可用性。

  升级理由六:商务智能BI 增强

  SQL Server 2005 对已经有或打算开发基于SQL Server 的商务智能方案的用户吸引力极大。SQL Server 2005中有关商务智能方面的增强很多,是升级的很好理由。首先是传统的DTS(Data Transformation Services)被新的IS(Integration Services)代替。SQL Server 2000 中的DTS用来在不同服务器之间转移数据,但对于复杂重复的工作流DTS倍感吃力。IS重新改写了DTS的数据流引擎,引入提取、转换和加载(ETL)数据的新编程体系,将数据流与控制流分开,开发能力大大加强,包部署、管理和性能方面也比DTS上了一个数量级。笔者看来,DTS终于从原来的小打小闹成长为成熟的IS 数据集成服务体系。

  分析服务(Analysis Services)在SQL Server 2005 中也有很多改进。原来没有profiler想跟踪分析服务里面的语句非常痛苦。现在2005 终于支持profiler了。Profiler对性能调优和排查错误将非常有用。分析服务2005 真正具备了实时分析能力,新增加了四种数据挖掘算法,也支持.NET语言进行开发(如存储过程等)。至于报表服务,2005 版本中添加了报表生成器和模型设计器这两个新工具,支持报表拖拉设计。2005 的报表改进如新的打印功能、多值参数等。设计过报表的人员会深深知道多值参数的妙处。

  另外,无论是IS、报表服务等都可以在类似Visual Studio的环境中开发,任务完成不过鼠标拖拉之间,非常容易上手。

  升级理由七:全文搜索增强

  相对前版本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的数据库,重建索引几乎是不能接受的恶梦。现在终于可以和数据库一起备份和恢复全文索引了。你不再需要在恢复数据库后重建全文索引了!恶梦终于成为历史。除了可以备份外,你也可以方便的改变全文索引的磁盘位置。你甚至可以在一个热备机器上把全文索引建立好,然后copy 这个索引到生产服务器上使用。

  升级理由八:可用性功能增强

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

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

  在线还原。在数据库的某一部分未恢复前,用户无法对该部分进行访问,但可以访问所有其他数据。SQL Server 2000中如果数据库在还原或recovery当中,用户不能访问数据库。这样如果数据库很大需要rollback或rollforward的事务很多的话,recovery的时间会出奇的长。SQL Server 2005 的在线还原功能使得数据库在很短的时间内变得可用。

  升级理由九:复制增强

  SQL Server 2000 中的复制功能已经很好。我这里把复制作为升级的一个理由因为SQL Server 2005在原来的基础上又增添了不少的功能。如peer-to-peer对等复制,可以在参与者之间相互进行复制,这样你可以采用对等复制在复制参与者之间建立某种程度的负载平衡。合并复制现在支持通过HTTPS进行数据同步,可以方便建立基于INTERNET 的复制。发布表现在可以使用标准的T-SQL语句如Alter Table等进行结构修改然后被复制而不是仅仅局限于使用sp_repladdcolumn和sp_repldropcolumn存储过程。在SQL Server 2000 中,仅支持向其他数据库(如DB2或Oracle)发布数据,而在SQL Server 2005 中,可将Oracle 数据库直接复制到SQL Server。可以从备份中初始化事务性订阅而不是仅仅局限于从快照对复制进行初始化,等等……

  升级理由十:异步处理能力

  SQL Server 2005 通过引入全新的Service Broker 提供了革命性的异步处理能力。Service Broker提供了一个功能强大的异步编程模型。它为数据库应用程序增加了可靠、可扩展、分布式异步功能异步编程,允许程序仅仅在资源可用时才去执行占用大量资源的任务,以此来缩短响应时间,提高吞吐量。在我看来,Broker的最大好处一是异步执行能力,提高了可伸缩性,二是可靠执行,三是集成于数据库中,备份数据库就备份了broker 的消息队列。SQL Server 2005 中的查询通知就是基于Service Broker的应用。你可以使用查询通知功能来发送一个命令到SQL Server请求在查询结果发生变化时接收SQL Server的通知。这样就可以只有在程序以前检索的结果发生变化时,才需要重新查询数据库。一个可以预见的应用是在使用缓存的Web 站点中。Web站点首先发送语句到数据库服务器,获得数据,缓存到本地,然后只有在收到查询通知的时候才清理缓存,重新查询数据。这个机制避免了重复轮询SQL Server,大大减轻了服务器的负载,也提高了Web 站点的伸缩性。

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


为什么要升级到SQL Server 2005

点击查看 Tech?Ed 2007 微软技术大会 专题

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

centos7如何安裝mysql centos7如何安裝mysql Apr 14, 2025 pm 08:30 PM

優雅安裝 MySQL 的關鍵在於添加 MySQL 官方倉庫。具體步驟如下:下載 MySQL 官方 GPG 密鑰,防止釣魚攻擊。添加 MySQL 倉庫文件:rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm更新 yum 倉庫緩存:yum update安裝 MySQL:yum install mysql-server啟動 MySQL 服務:systemctl start mysqld設置開機自啟動

如何在父分類的存檔頁面上顯示子分類 如何在父分類的存檔頁面上顯示子分類 Apr 19, 2025 pm 11:54 PM

您想了解如何在父分類存檔頁面上顯示子分類嗎?在自定義分類存檔頁面時,您可能需要執行此操作,以使其對訪問者更有用。在本文中,我們將向您展示如何在父分類存檔頁面上輕鬆顯示子分類。為什麼在父分類存檔頁面上顯示子分類?通過在父分類存檔頁面上顯示所有子分類,您可以使其不那麼通用,對訪問者更有用。例如,如果您運行一個關於書籍的WordPress博客,並且有一個名為“主題”的分類法,那麼您可以添加“小說”、“非小說”等子分類法,以便您的讀者可以

Centos停止維護2024 Centos停止維護2024 Apr 14, 2025 pm 08:39 PM

CentOS將於2024年停止維護,原因是其上游發行版RHEL 8已停止維護。該停更將影響CentOS 8系統,使其無法繼續接收更新。用戶應規劃遷移,建議選項包括CentOS Stream、AlmaLinux和Rocky Linux,以保持系統安全和穩定。

oracle數據庫的語句怎麼寫 oracle數據庫的語句怎麼寫 Apr 11, 2025 pm 02:42 PM

Oracle SQL語句的核心是SELECT、INSERT、UPDATE和DELETE,以及各種子句的靈活運用。理解語句背後的執行機制至關重要,如索引優化。高級用法包括子查詢、連接查詢、分析函數和PL/SQL。常見錯誤包括語法錯誤、性能問題和數據一致性問題。性能優化最佳實踐涉及使用適當的索引、避免使用SELECT *、優化WHERE子句和使用綁定變量。掌握Oracle SQL需要實踐,包括代碼編寫、調試、思考和理解底層機制。

oracle數據庫怎麼導入 oracle數據庫怎麼導出 oracle數據庫怎麼導入 oracle數據庫怎麼導出 Apr 11, 2025 pm 02:30 PM

Oracle數據庫遷移主要依靠expdp和impdp工具。 1. expdp用於導出數據,其語法簡潔但選項豐富,需注意目錄權限和文件大小,避免導出失敗;2. impdp用於導入數據,需確保目標數據庫空間充足、字符集一致且無同名對象,可使用remap_schema參數解決衝突;3. 可使用parallel、query、network_link、exclude等參數優化遷移過程;4. 大型數據庫遷移需注意網絡環境、數據庫資源利用及分批遷移策略,以提高效率並降低風險。 熟練掌握這些步驟和技巧,才能

連接mongodb的工具有哪些 連接mongodb的工具有哪些 Apr 12, 2025 am 06:51 AM

連接MongoDB的工具主要有:1. MongoDB Shell,適用於快速查看數據和執行簡單操作;2. 編程語言驅動程序(如PyMongo, MongoDB Java Driver, MongoDB Node.js Driver),適合應用開發,但需掌握其使用方法;3. GUI工具(如Robo 3T, Compass),提供圖形化界面,方便初學者和快速數據查看。選擇工具需考慮應用場景和技術棧,並註意連接字符串配置、權限管理及性能優化,如使用連接池和索引。

docker原理詳解 docker原理詳解 Apr 14, 2025 pm 11:57 PM

Docker利用Linux內核特性,提供高效、隔離的應用運行環境。其工作原理如下:1. 鏡像作為只讀模板,包含運行應用所需的一切;2. 聯合文件系統(UnionFS)層疊多個文件系統,只存儲差異部分,節省空間並加快速度;3. 守護進程管理鏡像和容器,客戶端用於交互;4. Namespaces和cgroups實現容器隔離和資源限制;5. 多種網絡模式支持容器互聯。理解這些核心概念,才能更好地利用Docker。

vscode 可以用於 python 嗎 vscode 可以用於 python 嗎 Apr 15, 2025 pm 08:30 PM

VS Code 能否勝任 Python 開發?絕對能!它輕量靈活,通過安裝擴展能提供 PyCharm 的絕大部分功能。關鍵擴展包括 Python 擴展包(基礎)、代碼格式化工具(可讀性)、linter(錯誤檢查)和調試工具。 Python 擴展包賦予 VS Code Python 開發能力,包括代碼高亮、智能提示和調試。高級技巧包括強大調試功能和性能優化工具。常見問題如環境配置和代碼格式化可以通過虛擬環境和格式化工具解決。善用擴展生態,謹慎選擇,VS Code 將成為 Python 開發的利器。

See all articles