自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

升級到SQL Server 2005的理由有哪些?

數(shù)據(jù)庫 SQL Server
以下的文章主要向大家講述的是升級到SQL Server 2005 的10個可以通過的理由,以下就是對其相關(guān)內(nèi)容的詳細描述。

我們今天主要向大家講述的是升級到SQL Server 2005 的10個理由,本文主要是從用戶關(guān)心的技術(shù)要點出發(fā)比較與對SQL Server 2005 的討論,相對它的前版本SQL Server 2000所做的重大改進或新增功能,介紹了SQL Server 2005 中最值得你為之升級的10 個理由。

無論你是想了解或?qū)W習(xí)SQL Server 2005,還是正在評估或考慮升級到SQL Server 2005,本文都將對您有很好的參考作用。

升級理由一:數(shù)據(jù)分區(qū)

只有到了2005 版本SQL Server才擁有了真正的表和索引數(shù)據(jù)分區(qū)技術(shù)。這個技術(shù)一下子使SQL Server數(shù)據(jù)庫從“青壯年”成長為成熟的企業(yè)級數(shù)據(jù)庫產(chǎn)品,是一個里程碑性質(zhì)的標志。數(shù)據(jù)分區(qū)技術(shù)極大加強了表的可伸縮性和可管理性,使得SQLServer 處理海量數(shù)據(jù)的能力有了質(zhì)的飛躍,是我認為最值得升級的一個理由。

數(shù)據(jù)庫隨著硬件和業(yè)務(wù)的發(fā)展變得越來越大。五年前大多數(shù)數(shù)據(jù)庫還不過是十幾個GB大小,很少超過TB級別的?,F(xiàn)在幾百個GB大小的數(shù)據(jù)庫系統(tǒng)隨處可見。如果沒有數(shù)據(jù)分區(qū)技術(shù)而想對大數(shù)據(jù)庫進行高效管理是很困難的。SQL Server 2005以前版本的一個問題是隨著時間的推移數(shù)據(jù)庫越來越大,備份需要的空間越來越多,如何處理數(shù)據(jù)庫中的歷史數(shù)據(jù)是很棘手的事情。

有些客戶可能會使用DELETE語句定期定量刪除大表中的歷史記錄,如在每個周末備份數(shù)據(jù)庫后刪除一個星期以前的所有數(shù)據(jù)。但是如果表有上千萬行十幾個GB 大小,那么使用DELETE語句刪除數(shù)據(jù)庫中上萬行或高達20%數(shù)據(jù)的話,其性能很差。如果是在7 × 24小時運行的聯(lián)機系統(tǒng)做這樣的數(shù)據(jù)維護操作那么還會引起比較嚴重的阻塞問題。

另外有些客戶針對這個問題直接在方案設(shè)計上下功夫,比如按照年份月份星期設(shè)計表,然后定期把一些過時的歷史數(shù)據(jù)表(注意是“表”)備份并DROP掉,使得數(shù)據(jù)庫大小以及系統(tǒng)性能都能保持相對穩(wěn)定。但是這種方法有一個弊端,即應(yīng)用程序必須做相應(yīng)的配合根據(jù)不同的時間訪問對應(yīng)的表,增加了數(shù)據(jù)庫管理以及數(shù)據(jù)庫訪問邏輯的復(fù)雜性。

大表還容易帶來性能問題。你也許會想到SQL Server 2000中的本地分區(qū)視圖或分布式分區(qū)視圖技術(shù)。是的,SQL Server2000 中的確已經(jīng)有分區(qū)視圖的概念,從SQL Server 7.0開始就有了??上Х謪^(qū)視圖的一個令人討厭的地方是其管理、設(shè)計和開發(fā)比較困難,特別是分布式分區(qū)視圖。如如何更新分布式視圖就是個難題。所以盡管一個設(shè)計良好的分區(qū)視圖系統(tǒng)會有很不錯的性能改善,卻因為繁瑣的配置,管理和開發(fā)使得其沒有在實際中得到充分應(yīng)用。

現(xiàn)在,SQL Server 2005 引入了真正的數(shù)據(jù)水平分區(qū)技術(shù),上面討論的數(shù)據(jù)庫增長問題和性能問題就迎刃而解。這個進步絕對不是一小步。數(shù)據(jù)庫的大小不再是個問題。你可以根據(jù)字段值的范圍將表和索引劃分為多個分區(qū)從而可以輕松管理一個幾個TB大小的數(shù)據(jù)庫系統(tǒng)。無論數(shù)據(jù)如何增長,你都可以使用分區(qū)技術(shù)使得數(shù)據(jù)庫大小保持相對穩(wěn)定。其中特別值得稱贊的地方是SQL Server 2005 中分區(qū)的管理和使用非常簡單。

分區(qū)的刪除,添加,拆分、合并和移動,以及分區(qū)的數(shù)據(jù)裝載等管理都非常容易。你可以對單獨的分區(qū)進行維護而不是整個表。如果你需要大量裝載數(shù)據(jù),那么你可以先把數(shù)據(jù)并行的裝入到一個新分區(qū)當中,建立索引,然后把該分區(qū)合并到當前分區(qū)中來。這個動作需要的時間極短。

如果你需要刪除歷史數(shù)據(jù),假設(shè)你已經(jīng)設(shè)計好了歷史數(shù)據(jù)分區(qū),那么你僅僅需要把該分區(qū)移除即可,幾乎可以一瞬間完成。分區(qū)也使得大型表的并發(fā)訪問性能得到改善,特別是有多個CPU的數(shù)據(jù)庫系統(tǒng)。那些需要交叉訪問大量數(shù)據(jù)的查詢將從分區(qū)技術(shù)中獲益不少。

升級理由二:可編程性

 

CLR 集成

SQL Server 2005的可編程性是值得升級的第二個重要理由。從來沒有哪一個版本能像SQL Server 2005 這樣帶來這么多編程方面的變革。說老實話,在我知道的瞬間我是驚呆了。有些變化是革命性的。如CLR(Common Language Runtime,公共語言運行時)集成。

就先說說CLR集成。CLR集成是指你可以使用任何一種.NET 語言編寫SQL Server 2005 的存儲過程,觸發(fā)器,函數(shù),自定義類型,甚至是自定義的聚合函數(shù)。估計不少數(shù)據(jù)庫軟件開發(fā)商會為這個功能歡呼雀躍。想想以前的擴展存儲過程,編程非常不容易。

代碼中一不小心就會引起內(nèi)存泄漏。而且由于擴展存儲過程運行在SQL Server 的進程空間中,不好的代碼容易引起訪問違規(guī)(Access Violation)導(dǎo)致SQLServer 異常。

現(xiàn)在有了CLR 集成,你可以輕松利用.NET語言的優(yōu)勢如其面向?qū)ο蟮姆庋b、繼承和多態(tài)特性,編寫出那些需要對數(shù)據(jù)進行復(fù)雜數(shù)值計算或邏輯的代碼,如字符串處理,數(shù)據(jù)加密算法,XML數(shù)據(jù)操作等等。由于CLR代碼宿于SQL Server進程,你可以非常容易訪問數(shù)據(jù)庫中的數(shù)據(jù)。

有了CLR,你不再局限于T-SQL,你現(xiàn)在立即擁有了.NET 框架類庫提供的各種各樣的類和例程,以及.NET語言提供的一致的編程模型,如錯誤處理。展現(xiàn)在你面前的是一個可以無限擴展的編程空間。你現(xiàn)在需要的僅僅是考慮什么時候使用T-SQL 語言,什么時候使用CLR。我猜測那些SQL Server軟件開發(fā)商幾乎會立即升級到SQLServer 2005 享受數(shù)據(jù)庫編程的便捷。

T-SQL 語言增強

SQL Server 2005 中的T-SQL語言有了非常大的改進。其中筆者最為稱道的是現(xiàn)在可以使用和C++或C#類似的TRYCATCH結(jié)構(gòu)對T-SQL 進行錯誤處理了,大大簡化了T-SQL錯誤處理編程。SQL Server 2005以前的版本通過設(shè)置@@error變量表示最后的T-SQL 語句執(zhí)行成功與否。

為避免@@error變量被新執(zhí)行的語句重置,你必須為每一條可能出錯的TSQL語句后面立即檢查或保存@@error變量的值,并使用相應(yīng)的G O T O 語句進行跳轉(zhuǎn),使得代碼變得復(fù)雜難讀。現(xiàn)在SQLServer 2005 有了TRY-CATCH結(jié)構(gòu)你只需要把相關(guān)的一組語句放在TRY塊里面即可。

如果TRY塊里面任何語句發(fā)生錯誤,就會執(zhí)行相應(yīng)的CATCH 塊。你甚至可以使用嵌套的TRYCATCH來實現(xiàn)復(fù)雜錯誤處理流程。估計很多T-SQL語言使用者可能就為了這個TRY-CATCH 結(jié)構(gòu)而迫不及待地升級到SQL Server 2005。

除了傳統(tǒng)的DML(INSERT/UPDATE/DELETE)觸發(fā)器,SQL Server 2005 現(xiàn)在也可以對DDL 語言(CREATE、ALTER或DROP 開頭的語句)創(chuàng)建觸發(fā)器了。這對于那些需要對DDL語言執(zhí)行管理任務(wù)如審核以及規(guī)范數(shù)據(jù)庫操作的用戶特別有用。以前很多客戶問我如何跟蹤或避免表的刪除操作,現(xiàn)在終于有了答案。你可以簡單建立一個針對DROP 語句的觸發(fā)器然后在觸發(fā)器里面ROLLBACK 事務(wù)就可以回滾DROP 動作了。

SQL Server 2005 T-SQL 中還有一個很酷的OUTPUT 子句。現(xiàn)在你不費吹灰之力就可以獲得INSERT 、UPDATE 或DELETE語句所影響的每行的信息。對于在INSERT或UPDATE操作之后需要檢索標識列或計算列的值的場合OUTPUT子句非常有用。

如獲得數(shù)據(jù)INSERT 后該行的Identity的值,產(chǎn)生一些唯一流水號,驗證剛剛插入的數(shù)據(jù)等等。一個有趣的例子是Identity值的取得。在SQL Server 2000 中你可以在INSERT 語句后立即調(diào)用IDENT_CURRENT()或SCOPE_IDENTITY()函數(shù)來得到INSERT 語句的Identity?,F(xiàn)在你僅僅需要在INSERT 語句中指定output子句就直接得到剛剛插入的Identity值,實在太簡單了,不是嗎?

SQL Server 2005 中T-SQL 語言新增或加強的功能還有很多。如SQL Server 2005 新增加了一類排名函數(shù)RANK/DENSE_RANK/NTILE/ROW_NUMBER,輕松解決了開發(fā)者要求返回數(shù)據(jù)行中提供行號等排序功能。新增的P I V O T 和UNPIVOT運算符使得對結(jié)果集進行行和列的旋轉(zhuǎn)變換十分簡單。

公用表表達式(CTE)解決了T-SQL語言的遞歸查詢問題,而使用OPENROWSET 語句現(xiàn)在可以直接從文件里面執(zhí)行大容量操作了。我覺得每一個改進都是那么有針對性,以至于使我相信這些T-SQL增強必定是SQL Server開發(fā)小組真正聆聽數(shù)據(jù)庫開發(fā)者心聲的結(jié)果。

升級理由三:安全

 

SQL Server 2005 的安全功能是我認為值得升級的第三個理由。SQL Server 2005 的安全達到了前所未有的強大水平,有著比以前版本更清晰的安全模型即主體,安全對象和權(quán)限。在SQLServer 2000 中是用服務(wù)器級權(quán)限、數(shù)據(jù)庫角色和數(shù)據(jù)用戶權(quán)限的混合方式管理權(quán)限。

而SQL Server 2005 統(tǒng)一使用GRANT語句管理主體對安全對象的權(quán)限,簡化了安全管理。其中我認為最大的改進是用戶和架構(gòu)(schema)分離。在SQL Server 2000中如果用戶不是DBO 且擁有對象,那么移除該用戶將是很麻煩的事情。你需要首先使用sp_changeobjectowner改變該用戶擁有的對象所有權(quán),然后把所有引用該對象的代碼做相應(yīng)的修改。而在SQL Server 2005 中就不需要這樣麻煩了,因為現(xiàn)在用戶不再擁有對象。擁有對象的是schema 而不是用戶。數(shù)據(jù)庫中的所有對象都屬于某個schema。

對象的完整名字是server.database.schema.object,符合SQL-99 標準,而不是以前的server.database.user.object 方式。刪除用戶僅需要改變schema的owner就可以了。不需要修改任何已存在的數(shù)據(jù)庫訪問代碼,真的很方便。用戶和架構(gòu)分離還有一個好處就是對象的權(quán)限管理變得簡單。

你可以把某些對象集中于某個架構(gòu)里面,然后對該架構(gòu)設(shè)置權(quán)限,那么架構(gòu)里面的所有對象就自動繼承了同樣的權(quán)限。

如果你需要保護數(shù)據(jù)庫中的敏感數(shù)據(jù),那么SQL Server2005 中的數(shù)據(jù)加密功能絕對值得考慮。以前不止一次有客戶問我如何加密數(shù)據(jù)庫中的某些數(shù)據(jù),是否可以使用一些內(nèi)部不公開的函數(shù)如PWDENCRYPT加密數(shù)據(jù)。我的回答是使用Windows的EFS(加密文件系統(tǒng))功能加密數(shù)據(jù)庫文件或在應(yīng)用程序?qū)訉?shù)據(jù)加密后再存儲。

現(xiàn)在用戶期盼已久的數(shù)據(jù)加密功能終于在SQL Server 2005 中得到實現(xiàn),那些有機密數(shù)據(jù)需要保護的用戶值得高興了。SQL Server 2005不是簡單的提供一些加密函數(shù),而是把市場上已經(jīng)成熟的數(shù)據(jù)安全技術(shù)引進到數(shù)據(jù)庫中,有一個清晰的加密層次結(jié)構(gòu)。SQL Server 2005 支持證書(certificate),非對稱密鑰和對稱密鑰算法,一是防止敏感數(shù)據(jù)被泄漏,二是防止數(shù)據(jù)被篡改。

對稱密鑰支持RC4,RC2,TripleDES 和AES算法,而非對稱密鑰使用RSA 算法。證書其實就是非對稱密鑰中公鑰的容器。密鑰管理是安全中比較弱的部分。SQL Server 2005 每一層都使用證書、非對稱密鑰和對稱密鑰的組合對它下面的一層進行加密,提高了密鑰安全性。出于性能考慮,一般不用加密強度大的非對稱密鑰或證書直接加密數(shù)據(jù),而是使用對稱密鑰加密數(shù)據(jù)獲得較快的性能,然后使用證書或非對稱密鑰加密對稱密鑰。

升級理由四:快照隔離

 

你還在為系統(tǒng)出現(xiàn)的阻塞(blocking)或死鎖(deadlock)現(xiàn)象苦惱嗎?快試試SQL Server 2005 中的快照隔離吧。通過行版本(row versioning)控制技術(shù),SQL Server 2005 除了原來支持的四種事務(wù)隔離級別(臟讀、提交讀、可重復(fù)讀、可串行讀)外新增了一個快照(SNAPSHOT)隔離級別,有可能使阻塞或死鎖成為歷史。

SQL Server在TEMPDB中存放不同版本的數(shù)據(jù)行,select 語句讀取這些不同版本的行,讀操作不阻塞寫數(shù)據(jù),寫操作也不阻塞讀操作,這樣那些由于讀/ 寫爭用導(dǎo)致的大量死鎖的系統(tǒng)將從中獲得無窮益處。如果你的系統(tǒng)復(fù)雜難優(yōu)化,那么升級到SQL Server 2005 試試快照隔離級別,也許會有意想不到的效果。

SQL Server 2005中的快照隔離可細分為兩種即READ_COMMITTED_SNAPSHOT和ALLOW_SNAPSHOT_ISOLATION。建議大家多使用前者,因為已提交讀隔離可用于大多數(shù)現(xiàn)有應(yīng)用程序,而不需要進行任何更改,其占用的TEMPDB空間也少。可以預(yù)見如果使用快照隔離級別,那么需要特別關(guān)注TEMPDB的大小和性能。你也許需要把TEMPDB放在有足夠空間的單獨磁盤上以提高性能。

考慮到快照隔離在避免阻塞和死鎖方面的作用,我把它做為升級的第四個理由。#p#

升級理由五:數(shù)據(jù)庫鏡像

對于那些要求高可用性的用戶來說,數(shù)據(jù)庫鏡像也許是考慮升級的唯一理由。SQL Server 2005的前版本在高可用性方面提供了故障轉(zhuǎn)移群集(Failover Cluster)和Log shipping方案。群集方案的一個好處是在一臺機器發(fā)生問題時它可以提供極快的故障轉(zhuǎn)移能力,在備份服務(wù)器上聯(lián)機數(shù)據(jù)庫,應(yīng)用程序只需重新連接即可。

群集方案的一個缺點是數(shù)據(jù)庫放在共享盤上,有單點失效這個缺點,一旦共享盤失敗將導(dǎo)致整個系統(tǒng)崩潰。所以群集方案一般都要結(jié)合嚴緊的備份方案一起使用。而logshipping系統(tǒng)有一個時間上的延遲,且如果日志備份很大,傳送速度也是個問題。SQL Server 2005引入的數(shù)據(jù)庫鏡像可作為故障轉(zhuǎn)移群集或Log shipping 的替代或補充方案來提高數(shù)據(jù)庫的高可用性。

鏡像的主要優(yōu)點是它比前兩者更容易管理,沒有群集的單點失效缺點,也沒有l(wèi)og shipping 的時間延遲。鏡像服務(wù)器可以放在很遠的地方,提高了作為備份服務(wù)器的高可用性。

數(shù)據(jù)庫鏡像需要兩臺或三臺服務(wù)器。主服務(wù)器通過傳送事務(wù)日志中的每個事務(wù)到鏡像服務(wù)器來進行數(shù)據(jù)同步。每當數(shù)據(jù)庫commit一個事務(wù),該事務(wù)就會被同步到鏡像服務(wù)器。如果事務(wù)安全設(shè)置為FULL,傳送操作將為同步操作。同步操作可以確保將提交的事務(wù)提交給兩個服務(wù)器,但可能會增加事務(wù)提交的時間。

如果事務(wù)安全設(shè)置為OFF,操作將為異步操作。事務(wù)會在不等待鏡像服務(wù)器的情況下提交,這將不影響主服務(wù)器事務(wù)的提交時間,但不能確保鏡像也提交了該事務(wù),所以在出現(xiàn)故障那一刻有可能有部分日志丟失。對于需要嚴格同步數(shù)據(jù)的鏡像系統(tǒng)可以采取同步模式。而僅僅希望有個備份服務(wù)器又不影響性能的情況下可以使用異步模式(高性能模式)。無論那種模式,一旦主服務(wù)器出現(xiàn)問題,你可以手動實現(xiàn)故障轉(zhuǎn)移或配置系統(tǒng)實現(xiàn)自動故障轉(zhuǎn)移。

升級理由六:商務(wù)智能BI 增強

 

SQL Server 2005 對已經(jīng)有或打算開發(fā)基于SQL Server 的商務(wù)智能方案的用戶吸引力極大。SQL Server 2005中有關(guān)商務(wù)智能方面的增強很多,是升級的很好理由。首先是傳統(tǒng)的DTS(Data Transformation Services)被新的IS(Integration Services)代替。

SQL Server 2000 中的DTS用來在不同服務(wù)器之間轉(zhuǎn)移數(shù)據(jù),但對于復(fù)雜重復(fù)的工作流DTS倍感吃力。IS重新改寫了DTS的數(shù)據(jù)流引擎,引入提取、轉(zhuǎn)換和加載(ETL)數(shù)據(jù)的新編程體系,將數(shù)據(jù)流與控制流分開,開發(fā)能力大大加強,包部署、管理和性能方面也比DTS上了一個數(shù)量級。筆者看來,DTS終于從原來的小打小鬧成長為成熟的IS 數(shù)據(jù)集成服務(wù)體系。

分析服務(wù)(Analysis Services)在SQL Server 2005 中也有很多改進。原來沒有profiler想跟蹤分析服務(wù)里面的語句非常痛苦?,F(xiàn)在2005 終于支持profiler了。Profiler對性能調(diào)優(yōu)和排查錯誤將非常有用。分析服務(wù)2005 真正具備了實時分析能力,新增加了四種數(shù)據(jù)挖掘算法,也支持.NET語言進行開發(fā)(如存儲過程等)。

至于報表服務(wù),2005 版本中添加了報表生成器和模型設(shè)計器這兩個新工具,支持報表拖拉設(shè)計。2005 的報表改進如新的打印功能、多值參數(shù)等。設(shè)計過報表的人員會深深知道多值參數(shù)的妙處。

另外,無論是IS、報表服務(wù)等都可以在類似Visual Studio的環(huán)境中開發(fā),任務(wù)完成不過鼠標拖拉之間,非常容易上手。

升級理由七:全文搜索增強

相對前版本SQL Server 2005中性能提升最多的部分當數(shù)全文檢索。SQL Server 2000 中的全文本檢索和SQL Server 7.0中的差別不大,處于能用的水平。在SQL Server 2000中使用全文檢索一個最大的痛苦是建立全文索引的性能不好,需要的時間太長,特別是在表很大的情況下。一個幾千萬行數(shù)據(jù)的表也許需要數(shù)個小時到數(shù)天時間才能完成全文索引的建立。SQL Server 2005全文檢索在開發(fā)的時候就集中于三點:性能,集成,和可擴展性。

據(jù)開發(fā)小組人員的簡單測試,原來在SQL Server 2000中建立全文索引需要14天的表,現(xiàn)在只需要幾個小時!幾乎有上百倍的性能提升,只能用“驚異”來形容。其相關(guān)的全文檢索語句也有30%~50%甚至更高的性能提高。性能方面的提高得益于全新設(shè)計的全文檢索引擎。其中關(guān)鍵的一點設(shè)計是全文檢索引擎現(xiàn)在使用共享內(nèi)存和SQL Server 進行數(shù)據(jù)大規(guī)模并發(fā)交互,而不是原來基于逐行的方式,使得性能上了好幾個數(shù)量級。

除了性能,SQL Server 2005 中的全文索引的集成性也大大加強。在SQL Server 2000 中很難對全文檢索進行備份。一旦有數(shù)據(jù)庫恢復(fù)或移動,你得重新重建索引。對于幾百個GB的數(shù)據(jù)庫,重建索引幾乎是不能接受的惡夢。現(xiàn)在終于可以和數(shù)據(jù)庫一起備份和恢復(fù)全文索引了。

你不再需要在恢復(fù)數(shù)據(jù)庫后重建全文索引了!惡夢終于成為歷史。除了可以備份外,你也可以方便的改變?nèi)乃饕拇疟P位置。你甚至可以在一個熱備機器上把全文索引建立好,然后copy 這個索引到生產(chǎn)服務(wù)器上使用。

升級理由八:可用性功能增強

 

索引聯(lián)機操作。除了數(shù)據(jù)庫鏡像,SQL Server 2005 中可用性還有很多其他提高。索引現(xiàn)在可以使用ONLINE關(guān)鍵字進行在線建立或重建或刪除了。它的技術(shù)要點是在內(nèi)存里面動態(tài)生成索引的另一個副本從而不影響原來查詢的進行。一旦索引副本完成操作即替代原來索引成為當前索引。

我認為索引聯(lián)機操作的意義是很大的,因為很多數(shù)據(jù)庫系統(tǒng)都有定期調(diào)整或維護索引方面的需求。有了2005 你無需擔(dān)心業(yè)務(wù)的正常運行而大膽的對索引進行維護或修改。

頁校驗和。SQL Server 2005中的數(shù)據(jù)庫頁引入校驗和增強了數(shù)據(jù)的可靠性。除了原來SQL Server 2000 中已有的TORN_PAGE_DETECTION 外,SQL Server 2005 新增實現(xiàn)了頁的檢驗和(CHECKSUM)。你使用ALTER DATABASE語句的SET PAGE_VERIFY子句即可指定。

它的原理是向磁盤中寫入8K數(shù)據(jù)頁面時,SQL Server計算整個8K頁面內(nèi)容的校驗和并將該值存儲在頁頭中。再次從磁盤中讀取頁時,SQL Server動態(tài)計算讀取到的頁面內(nèi)容的校驗和,并與存儲在頁頭中的校驗和值進行比較。如果不相等則意味著頁面有物理損壞,需要檢查IO硬件。另外設(shè)置檢驗和的另一個好處是還可以在備份和還原操作過程中使用RESTORE VERIFYONLY語句驗證每一數(shù)據(jù)頁的完整性從而確認備份文件沒有物理損壞。

在線還原。在數(shù)據(jù)庫的某一部分未恢復(fù)前,用戶無法對該部分進行訪問,但可以訪問所有其他數(shù)據(jù)。SQL Server 2000中如果數(shù)據(jù)庫在還原或recovery當中,用戶不能訪問數(shù)據(jù)庫。這樣如果數(shù)據(jù)庫很大需要rollback或rollforward的事務(wù)很多的話,recovery的時間會出奇的長。SQL Server 2005 的在線還原功能使得數(shù)據(jù)庫在很短的時間內(nèi)變得可用。

升級理由九:復(fù)制增強

SQL Server 2000 中的復(fù)制功能已經(jīng)很好。我這里把復(fù)制作為升級的一個理由因為SQL Server 2005在原來的基礎(chǔ)上又增添了不少的功能。如peer-to-peer對等復(fù)制,可以在參與者之間相互進行復(fù)制,這樣你可以采用對等復(fù)制在復(fù)制參與者之間建立某種程度的負載平衡。

合并復(fù)制現(xiàn)在支持通過HTTPS進行數(shù)據(jù)同步,可以方便建立基于INTERNET 的復(fù)制。發(fā)布表現(xiàn)在可以使用標準的T-SQL語句如Alter Table等進行結(jié)構(gòu)修改然后被復(fù)制而不是僅僅局限于使用sp_repladdcolumn和sp_repldropcolumn存儲過程。

在SQL Server 2000 中,僅支持向其他數(shù)據(jù)庫(如DB2或Oracle)發(fā)布數(shù)據(jù),而在SQL Server 2005 中,可將Oracle 數(shù)據(jù)庫直接復(fù)制到SQL Server??梢詮膫浞葜谐跏蓟聞?wù)性訂閱而不是僅僅局限于從快照對復(fù)制進行初始化,等等……

升級理由十:異步處理能力

SQL Server 2005 通過引入全新的Service Broker 提供了革命性的異步處理能力。Service Broker提供了一個功能強大的異步編程模型。它為數(shù)據(jù)庫應(yīng)用程序增加了可靠、可擴展、分布式異步功能異步編程,允許程序僅僅在資源可用時才去執(zhí)行占用大量資源的任務(wù),以此來縮短響應(yīng)時間,提高吞吐量。在我看來,Broker的最大好處一是異步執(zhí)行能力,提高了可伸縮性,二是可靠執(zhí)行,三是集成于數(shù)據(jù)庫中,備份數(shù)據(jù)庫就備份了broker 的消息隊列。

SQL Server 2005 中的查詢通知就是基于Service Broker的應(yīng)用。你可以使用查詢通知功能來發(fā)送一個命令到SQL Server請求在查詢結(jié)果發(fā)生變化時接收SQL Server的通知。這樣就可以只有在程序以前檢索的結(jié)果發(fā)生變化時,才需要重新查詢數(shù)據(jù)庫。

一個可以預(yù)見的應(yīng)用是在使用緩存的Web 站點中。Web站點首先發(fā)送語句到數(shù)據(jù)庫服務(wù)器,獲得數(shù)據(jù),緩存到本地,然后只有在收到查詢通知的時候才清理緩存,重新查詢數(shù)據(jù)。這個機制避免了重復(fù)輪詢SQL Server,大大減輕了服務(wù)器的負載,也提高了Web 站點的伸縮性。

因為SQL Server 2005 的Service Broker帶來了數(shù)據(jù)庫編程異步處理能力的革命,我把它作為升級的第十個理由。

總結(jié)

上面列出的十大理由僅僅是基于筆者的考慮,并沒有囊括SQL Server 2005 所有的功能。SQL Server 2005 還有其他很多非常優(yōu)秀或重大的改進。比如支持通過HTTP SOAP協(xié)議直接訪問數(shù)據(jù)庫,增加XML數(shù)據(jù)類型,支持Xquery,使用新的SQL ServerManagement Studio 等等。

有一點我必須提一下,就是現(xiàn)在可以調(diào)用sp_create_plan_guide來強制指定SQL Server總是使用某個執(zhí)行計劃運行語句,避免SQL Server動態(tài)生成不夠優(yōu)化的查詢計劃,實在太棒了。在筆者看來,SQL Server 2005 帶來的好處遠遠大于升級導(dǎo)致的工作量,升級到SQL Server 2005 是遲早的事情。

早升級早擁有,對SQL Server 2005,你準備好了嗎?

【編輯推薦】

  1. SQL Server Compact中的DLL文件與工具
  2. SQL Server數(shù)據(jù)庫在安裝時的注意事項
  3. SQL Server 2005數(shù)據(jù)庫安裝實例演示
  4. SQL Server 2005性能監(jiān)視器計數(shù)器的安裝問題
  5. SQL Server 2000全文檢索的使用方案描述
責(zé)任編輯:佚名 來源: 博客園
相關(guān)推薦

2010-07-07 17:24:32

SQLServer20

2009-04-27 14:48:44

2010-06-29 17:45:22

SQL Server

2013-10-21 10:07:30

微軟Windows 8.1理由

2010-07-07 17:11:46

SQL Server

2010-07-13 17:02:18

SQL Server

2011-04-07 09:44:23

SQL2000數(shù)據(jù)庫SQL2005

2013-08-20 09:59:25

Windows 8.1微軟操作系統(tǒng)

2013-07-03 10:10:46

Windows 8.1

2010-06-17 15:17:24

SQL Server

2010-06-01 13:57:14

IPv6協(xié)議

2010-07-19 11:28:14

SQL Server

2011-04-07 13:28:58

AccessSQL Server

2010-07-19 08:28:26

Sql Server2

2010-07-23 09:53:29

SQL Server

2010-07-16 10:14:07

2016-05-31 13:55:48

Ubuntu 16.0升級Linux

2010-06-18 13:18:29

SQL Server

2009-08-19 09:24:05

Windows 7系統(tǒng)升級缺點

2016-07-11 08:56:51

Windows 10升級理由
點贊
收藏

51CTO技術(shù)棧公眾號