企業導入SQL Server 2005的計劃
對於企業是否要導入SQL Server 2005,我們深入訪問亞大山大集團和喬篷科技。亞力山大目前使用SQL Server 2000作商業智慧平臺,目前正積極測試SQL Server 2005也投入了相當的人力養成,但在升級之路上仍然有其障礙;喬篷科技開發.NET版本的企業流程管理軟體,核心資料庫也是採用前代資料庫,由於目前有許多客戶希望能將資料庫升級到新版本,也因此喬篷在軟體開發與測試與營運系統上,正朝SQL Server 2005前進。

為了檢測這兩家案例的升級,我們分別和三位微軟特約顧問訪談,剖析他們的升級之路,並深入分析升級容易遭遇的問題。經過專家建議之後,對於升級想更進一步動手測試,我們提供SQL Server 2005升級三部曲,作為升級規劃與實作的參考:

亞力山大寄望商業智慧帶來更佳決策力
亞力山大企業集團透過SQL Server 2000的Analyzer Server功能,以及第三方商業智慧軟體作為前端介面,整合資料庫中30萬筆會員資料和ERP系統,提升集團決策上的正確性與效率。資訊管理處協理林明輝對SQL Server 2005抱持肯定的態度,但如何妥善使用仍是個挑戰。

升級需求浮現,喬篷科技協助客戶移轉系統
喬篷科技是國內企業流程處理系統(BPM)軟體廠商,提供.NET平臺的解決方案,由於系統的資料庫採用SQL Server 2000,因此當資料庫推出新版本時,為了因應未來用戶升級移轉的需求和產品的結合度,對於SQL Server 2005的測試便勢在必行。技術總監藍新珽表示,升級立刻可見的好處是效能面、管理面,相對而言設計開發的步調會較慢,但升級終究是必走的路。

專家診斷SQL Server 2005升級之路

臺灣微軟特約資深顧問楊志強:「對新技術因陌生而感到恐懼是人之常情,但透過學習就可以解決。」
 
恆逸資訊資深講師胡百敬:「技術有基礎有衍生,掌握住基礎加以精鍊,就不難面對多如浪花的新技術。」
   
亞洲資採資深資料採礦顧問尹相志:「整合服務與分析服務在升級時問題較多,但升級後能帶來效能改善。」



升級SQL Server 2005三部曲
假如企業計劃的是在新系統上導入SQL Server 2005,透過SQL Server的安裝精靈一路「下一步」到底,系統便幾近安裝完成,除了安全考量所關閉的某些功能,需要企業依自身的需求再做設定。

但如果是打算從舊系統升級到SQL Server 2005,那麼恐怕就不是「下一步」能輕鬆帶過。

我們可以透過流程的角度,大致將過程拆解為評估與計劃、實作升級、升級後測試與上線三個步驟,了解SQL Server 2005的升級步驟。

升級或不升級,都須正視SQL Server 2005的新時代
不管企業升級與否,SQL Server 2005已然成為趨勢,企業必須了解它,也必須投入人才進行養成,雖然6.5版的資料庫至今仍能運轉,但SQL Server 2000還是在市場上佔有最大的比例,這說明了時代汰換的潮流...

SQL Server 2005從內到外大幅度改版、增加升級難度
SQL Server 2005和前代版本相隔5年,以18個月為一週期的摩爾定律而言,IT環境已經歷經3次倍數成長的摩爾週期,種種技術也都日新月異,因此SQL Server 2000與2005之間,存在相當大的鴻溝...

舊版本停止銷售,保固支援也即將告終
如果企業資料庫系統運轉正常,當然沒有必要汱換能滿足企業需求的產品,但必須注意的是,SQL Server 2000中文版今年2月已停止販售,將在2008年4月停止主流支援、SQL Server 7.0的主流支援服務已在去年12月到期,消極來說,為了系統的穩定與安全,升級是不得不做的趨勢...

效能與新功能是企業升級的動因
SQL Server 2005在大改版之後,資料庫引擎的處理效能增強許多,即使不做任何調校,只是將舊版升級成新版本,在效能上也都能獲得不錯的結果;在新功能方面,以資料庫鏡像來說,比起使用叢集的方式來做高可用性的解決方案,SQL Server 2005能以較低成本、快速移轉、不受距離和硬體限制,因此企業如果對高可用性有其需求,問題便迎刃而解。如果企業目前運作上可以透過新功能有效改善作業方式或效率...

教育資源缺乏,延遲企業導入時機
從去年年底上市以來,已有不少企業陸續引進SQL Server 2005,一旦企業用戶導入之後,驗證了資料庫的穩定與效能,企業升級的需求便會大為提高,但目前SQL Server教育資源的缺乏成為導入的一大考驗...升級或不升級,都須正視SQL Server 2005的新時代

新版資料庫的推出,對企業而言無疑也會面臨到升級或不升級的問題。升級除了成本的考量之外,更重要的是能不能平順地將資料庫升級上去,恐怕是更關鍵的問題。就算能夠平順升級上去,IT預算在微利時代通常有限,投資報酬率能帶給企業亮眼的數字嗎?

當然升級不是唯一的選擇,長年鑽研SQL Server資料庫的恆逸資深講師胡百敬便指出,如果企業的資料庫運轉正常穩定,升級就不是迫切的需要,畢竟即使10年前推出的6.5版仍然有企業在使用。

不過他同時也分析了升級的理由,一旦企業有提升效能上的考量與應用新功能的考量,SQL Server 2005也的確能在效能上帶來效益,有時甚至是倍數成長的效能。而新功能對於開發、管理和安全上也都有不錯的改進。

不管企業升級與否,SQL Server 2005已然成為趨勢,企業必須了解它,也必須投入人才進行養成,雖然6.5版的資料庫至今仍能運轉,但SQL Server 2000還是在市場上佔有最大的比例,這說明了時代汰換的潮流。SQL Server 2005最大的敵人或許不是Oracle,而是他的前代版本Server 2000,然而證之過去經驗法則,取而代之的時間,只是遲早的問題。SQL Server 2005從內到外大幅改版、增加升級難度

從內到外大幅度改版
SQL Server 2005和前代版本相隔5年,以18個月為一週期的摩爾定律而言,IT環境已經歷經3次倍數成長的摩爾週期,種種技術也都日新月異,因此SQL Server 2000與2005之間,存在相當大的鴻溝。

首先,SQL Server 2005在架構上做了重大改變,資料庫核心與.NET整合,在資料庫核心植入CLR(common language runtime),讓資料庫開發人員除了T-SQL之外,也可以透過.NET開發預存程序與函數等。

又如過去SQL Server處理改變以往對XML整批進、整批出的方式,能對儲存在資料庫的XML資料透過XQuery的方式進行檢索與更新,並且能加以索引提升速度。另外像是原生的HTTP支援、提供Service Broker提供非同步訊息的處理平臺、處理訂閱與派送功能的通知服務(Notification Services)等功能,或是管理面的資料庫鏡像、快照功能、線上索引、資料分割與結構描述等等,都是SQL Server 2005的重大改變。

另外,商業智慧在企業決策、營運管理上日漸扮演重要角色,於是SQL Server 2005將報表服務(Reporting Services)、整合服務(Integration Services)、分析服務(Analysis Services)包裝成商業智慧解決方案,並大幅強化相關功能,尤其以分析服務和整合服務改變甚多,當中又屬整合服務從2000時代的DTS演進為整合服務,雖然觀念上同屬ETL工具,實質上卻是全然不同的產品。

升級難度增加
產品改版幅度大,同時也意謂著和前代系統差異增加,因此企業如果打算將舊系統轉換成新系統,能不能順利移轉讓人頗為持疑,畢竟資料庫是一切基礎,冒不得任何風險。

話說回來,SQL Server 從1993年的4.2版發展至今也有十幾年,在挑戰大型企業等級資料庫同時,自然不會輕忽這個最基本的需求。不過由於版本差異甚大,因此還是會有部份功能不能直接升級。關於資料庫的升級,我們大致可以分三個面向來看:
1.系統升級或移轉
如果以資料庫本身而言,無論是從SQL Server 2000或更早的7.0版本,通常都能順利升上SQL Server 2005,不致於因為改版幅度大而受到影響。

如果企業使用更早期的版本,像是SQL Server 6.5,那麼便會因為只支援前兩版的功能而無法直接升級。如果是採用這種早期版本的企業,只能先升級到7.0或2000之後,再升級到最新版的SQL Server 2005。

2.應用服務升級或移轉
SQL Server 2005升級方面最大的挑戰不在資料庫本身,而是它的各項應用程式,尤其是它大力強調的商業智慧的三大服務。

報表服務是當中最能平順升級的應用程式。報表服務於2004年推出,設計給SQL Server 2000平臺使用,距今時間尚短,新版本也沒在架構上做太大調整,只有局部性的功能改變和加強。

分析服務用來做資料採礦和線上分析處理,是商業智慧應用的重要核心引擎。分析服務最源自於7.0版時的線上分析服務(OLAP Services),在2000時整合資料採礦和商業智慧功能,變成分析服務。迭經版本更替,SQL Server 2005分析服務在多維度的架構上做了改變,取消以前的virtual cube與virtual dimension,因此如果開發人員有使用到這兩個功能,在轉換時便會發生問題。

整合服務的問題恐怕也相當令人頭疼,過去舊版DTS在資料萃取、轉換、載入時,在轉換這個階段只能做簡單的轉換工作,如果想進一步處理複雜的清理、彙總、合併等動作,就必須使用C/C++等其他程式語言才能加以處理。整合服務使用.NET重新開發這個工具,導入資料流程、控制流程加上事件流程的處理架構,讓資料處理都在記憶體中執行,以提高效能。另外,之前資料轉換的弱點,新版本也予以強化,供多種資料的合併轉換、去除重複作業功能,進行彙總、排序等運算,同時具備Fuzzy 群組化與尋查的功能,另外也新增測試和偵錯的功能。

整合服務雖然強化,但已經是截然不同的工具,雖然企業能夠透過自動轉換的方式,讓以前DTS工作在新版中運行,但是面對新版本提供的強化功能與效能,資料庫開發人員形同要重頭來過。

3.人員的升級
當我們談資料庫升級通常會涉及到兩個層面,第一個層面指的是系統、應用程式的升級,第二個層面是常被忽略的人員升級。

由於資料庫的開發、維護和管理都需人員介入,因此新系統要建立、使用,必須要有詳知如何操作的人員。然而即使SQL Server 2005已經推出6個月,無論是相關的書籍、課程都還是相當少。即使企業購入新系統,資料庫的管理人員和開發人員還是只能用舊觀念、舊方法來處理SQL Server 2005。雖然未必行不通,但障礙必然叢生,萬一資料庫發生問題時,更會導致企業陷入停擺狀態。目前資料庫管理與開發人員對新系統認識有限,也是邁向SQL Server 2005升級的一大瓶頸。舊版本停止銷售,保固支援也即將告終

既然系統升級存在這麼多的可預見的問題,無可避免會讓企業對於升級存在一定的觀望,甚至考量升級是否是必須的,畢竟至今仍然有企業使用6.5的版本,依然可以滿足企業資料處理上的需求,升級真有其必要嗎?

如果企業資料庫系統運轉正常,當然沒有必要汱換能滿足企業需求的產品,必須注意的是,SQL Server 2000中文版已在今年2月停止販售,往後企業如果有增購資料庫的需求時,唯一的版本就是SQL Server 2005。其次,SQL Server 7.0的主流支援服務已經在去年12月到期,換言之,這個版本將不再接受保固支援及功能改變的要求,之後只能透過延伸服務支援取得安全性更新。

而SQL Serve 2000也將在2008年4月停止主流支援,消極來說,為了系統的穩定與安全,升級是不得不做的趨勢,只是或早或晚而已,企業應將資料庫的升級做好期程的規劃。效能與新功能是企業升級的動因

有兩種情況,企業可以積極考慮升級,一個是追求更好的效能,一個是SQL Server 2005推出的新功能,可以有效解決目前企業系統面臨的障礙。

1.效能考量
以廣達為例,它的ERP與供應鏈系統全都使用SQL Server,ERP負責處理收、發料、處理訂單,系統I/O量大,而供應鏈處理工廠與700家原料供應商的資料交易,不論資料量或交易量也都吃重,因此在廣達的IT策略上,一旦推出新的SQL Server版本,便會在最短時間內測試、上線,以換取更好的效能,這便是相當典型的效能考量。

SQL Server 2005在大改版之後,資料庫引擎的處理效能增強許多,即使不做任何調校,只是將舊版升級成新版本,在效能上也都能獲得不錯的結果。以亞洲資採協助新光金控升級為例,原本包括活存試算及其他大小排程需要5到6個小時左右,但升級新版本之後只要2個小時左右就可完成,效能提升1倍以上。

因此如果企業有需求上的考量,即使目前系統運轉正常,仍可考慮升級。

2.功能考量
SQL Server 2005增加了許多新的功能,如果企業目前運作上可以透過新功能有效改善作業方式或效率,也可以積極考慮。

以資料庫鏡像來說,比起使用叢集的方式來做高可用性的解決方案,SQL Server 2005能以較低成本、快速移轉、不受距離和硬體限制,因此企業如果對高可用性有其需求,問題便迎刃而解。

又如多國語言的增強,以臺灣在兩岸三地交易頻繁的情況,正、簡體中文的處理是個相當麻煩的地方,新版本目前允許輸入時採用不同編碼的中文,而輸出瀏覽時再轉換成相同的編碼,這對於兩岸三地型的企業或者是軟體開發商,都能藉由這樣的新功能解決過去的麻煩。

尤其對於.NET陣營的軟體開發商而言,新系統與.NET整合,使得架構在資料庫上的軟體應用開發速度更快,而系統也能以元件的方式植入在資料庫引擎中,既可加快運作效能,另一方面也可避免廠商的技術外流。

又如對XML的處理、Web Service整合到資料庫引擎、能處理訂閱媒合的通知服務、非同步資料處理的Service Broker、資料切割等功能,妥善運用不但能增強軟體的效能與功能,也可以讓軟體廠商可以更集中在軟體專門任務的開發上,而資料庫可以處理的任務便交付由資料庫進行處理。教育資源缺乏,延遲企業導入時機

對於微軟產品的最佳導入期,流傳著發佈SP1才是最佳的時機,即使SQL Server 2005已在4月份發佈SP1,不少企業仍然保持在觀望或測試的階段。

然而一個不可忽視的事實,以本地市場今年第一季銷售數字來看,相較於去年同期的SQL Server而言,成長了30%到50%左右,換言之,從去年年底上市以來,的確已經有不少企業陸續引進SQL Server 2005,一旦企業用戶導入之後,驗證了資料庫的穩定與效能,企業升級的需求便會大為提高。

但以目前的狀況來說,SQL Server 的教育資源相當缺乏,市面上中文的相關書籍有限,大約只有近10本,某些作品還是從SQL Server 2000略作修改就改裝上市,對讀者幫助有限。外文書的量雖然較多,但對於較困難的分析服務、整合服務等專門領域,相對就少,但這卻是用戶最陌生的部份,更不用說英文也會形成另一種障礙。
而隨新認証考試推出的原廠教材在商業智慧的部份也尚未齊備,教育中心的認証課程也才剛到位,目前有心學習SQL Server 2005的使用者,大多只能透過微軟舉行的研討會、網路資源或資料庫線上教學了解這個龐然大物的面貌,卻還是不免有瞎子摸象的混亂。

不過隨著時間推進,教育資源缺乏的問題將會被解決,系統升級的困難也將會因原廠的改善,導入的實作經驗與社群互動的力量而日益減少,但就資料庫的開發和管理人員而言,SQL Server已經跨越5年的向度大幅升級,面對這樣的變化,勢必也將經歷一場升級,如同企業導入新版本一樣,或早或晚,但終究是趨勢。亞力山大寄望商業智慧帶來更佳決策力

亞力山大資訊管理處協理林明輝:「強化的商業智慧讓企業有升級的意願,但如何妥善使用仍是個挑戰。」



亞力山大企業集團透過SQL Server 2000的Analyzer Server功能,以及第三方商業智慧軟體作為前端介面,整合資料庫中30萬筆會員資料和ERP系統,提升集團決策上的正確性與效率。

透過商業智慧的功能,以前要花上數天才能匯整呈現的報表,現在即時就能獲得,此外,透過分析結果,能讓他們針對地區特性開發新的產品與服務,例如臺北與新竹受歡迎的健身器材或課程有哪些差別,藉此推出更接近會員需求的服務。

商業智慧的強化切合需求
由於SQL Server改版的重點之一就是強化商業智慧,因此亞力山大資訊管理處協理林明輝對於新版本相當感興趣,正好可以切中他們的需求。例如SQL Server 2005可以建置KPI,讓企業關切的指標直接由資料庫產生視覺化的結果。又如前版只允許使用一個事實資料表(fact table),因此在設計上需透過檢視表(view)或產生暫存資料表,才能將所需的資料作合併查詢的動作。雖然這種作法可以得到想要的結果,但是因為額外加很多資料表進來,補足結構缺少的部份,在維護上的難度也相對提高。

為了能早日使用SQL Server 2005帶來的好處,林明輝很積極地安排IT人員受訓,除了微軟舉行的研討會之外,他也請第三方商業智慧軟體公司針對MDX、DMX等安排相關課程。另外,他也實作過資料庫移轉的測試,資料大致上也能平順在新機器上運作,目前使用Analyzer Services開發出來的程式與報表還不多,在轉換上的負擔也不大。

教育資源缺乏,難以駕御新版本改變
然而即使如此積極,面對SQL Server 2005,林明輝坦言仍然還是有無從下手的感覺。就他而言,這次SQL Server的改版,好像是Windows Server從無AD跨入到有AD的時代,改變幅度相當大,整個觀念和應用都受到牽動。就心理層面而言,這次的改版變化更勝過從SQL Server 7.0到2000的衝擊。

舉例而言,在2000時代資料的匯出和匯入只要點選資料夾右鍵,在快顯視窗就可選匯入/匯出,而剛接觸2005時,光是找這個功能就花了不少時間。林明輝認為,微軟應該針對使用者習慣,提出一份兩個版本改變的對照表,方便使用者使用常用功能時可以儘快上手。

此外,從2000升級之後,有用到與其他資料庫銜接的程式都不能使用,造成了升級過程中的困擾。林明輝認為應該多留點彈性給進階使用者,可以在升級過程中自訂所需的元件。

「人的想法和資料庫的想法不同,就人的想法應該要這樣去做,但是資料庫的邏輯卻不是如此。」林明輝如此表示,因此在使用和新版資料庫之間,需要有教育資源的銜接,然而不管是課程或書籍,目前都明顯不足,而這會影響到企業導入SQL Server 2005的意願。

此外,商業智慧雖然在功能上相當強大,但是對商務人士而言,仍然缺乏足夠友善的使用者介面,而必須使用第三方的解決方案才能在企業內使用。

整體而言,林明輝對SQL Server 2005抱持肯定的態度,也不排除將目前ERP系統的資料庫改換成SQL Server,讓企業內部的資料庫使用相同的平臺。只是教育資源如果不能滿足用戶的需求,企業導入的應用層面和速度就無法改善。文⊙黃天賜升級需求浮現,喬篷科技協助客戶移轉系統

喬篷科技技術總監藍新珽:「升級立刻可見的好處是效能面、管理面,相對而言設計開發的步調會較慢,但升級終究是必走的路。」


喬篷科技是國內企業流程處理系統(BPM)軟體廠商,提供.NET平臺的解決方案,由於系統的資料庫採用SQL Server 2000,因此當資料庫推出新版本時,為了因應未來用戶升級移轉的需求和產品的結合度,對於SQL Server 2005的測試便勢在必行。

利用模擬測試,協助客戶接踵而來的升級需求
喬篷科技技術總監藍新珽說明喬篷接到不少客戶的詢問,有些是關於升級移轉的問題,有些是系統功運作問題。類似的情況在當年Winodws Server 2000升級到2003,以及Windows XP SP2發佈時都曾發生過,讓喬篷工程師忙得焦頭爛額。像這類新產品發佈時,他們必須在測試室中模擬客戶的情況,找出問題的解答,再發佈技術通報給使用者。

由於喬篷的BPM產品採用Web based的設計架構,大部份只用來存取SQL Server,少部份使用Report Services的功能,依照測試的經驗,無論是資料庫引擎的升級或是Reprot Services,通常都能順利升級。

事實上,依照目前的使用需求, SQL Server 2000已經能滿足使用者在效能上的需求,二維的報表也能解決大多數用戶的需要,因此就實務的角度而言,產品本身並沒有立即升級到SQL Server 2005的需求,但是由於客戶對於升級產生需求,他們就必須設法解決。

資料庫新功能,為軟體開發商解決部份問題
隨著SQL Server 2005的強化,事實上也為軟體商解決部份問題。喬篷就曾經遇過客戶希望他們的產品可以做到容錯移轉的功能,雖然這屬於系統層次的問題,和應用程式的關聯較小,但為解決客戶的問題,他們還是利用SQL Server 2000的記錄檔傳送功能,做到類似的效果。雖然樣子出來了,但在時間上總是會有延遲誤差,因此不算是很完善。現在SQL Server 2005具備資料庫鏡像的功能,客戶的問題立刻迎刃而解,而軟體開發商也可以專注在自身產品上。

另外,像是資料庫上的資料分割(data partition)的功能,可以處理大量的資料的切割,對於資料的使用上更有效能。而過去資料存取分層清楚,像是Web Services就只能在應用層式這一層來存取資料,但現在資料庫本身整合了Web Services,外部就能藉此直接存取資料,而不需經過多層才能處理,節點變少,效能也就跟著提升。像是這些新功能,對於日後進行BPM系統改版時,也許都能加以應用,以加強功能和提升效能。

至於喬篷內部營運使用的SQL Server預計也會在今年度升級到2005,而升級的最大考量是新功能帶來的效益。當技術大改變時,通常需要一段時間來觀察發展,短期內可見的效益比較是系統面、管理面,移轉完馬上可以享受好處,像是高可用性或安全性,但設計面步調會比較慢,例如有效運用新的資料型別等新概念都需要時間,另外將程式編譯成元件植到資料庫核心,由於目前可以看到的實例還不多,對於穩定性還是會多加考量,以免因為程式撰寫不佳而拖累資料庫作業。目前公司會派出幾位種子工程師去學習相關的課程,再回到公司內教育其他工程師,以期在這波升級中能儘快掌握SQL Server 2005。文⊙黃天賜專家診斷SQL Server 2005升級之路

在現今教育資源缺乏之際,經常在微軟研討會現身的臺灣微軟顧問,常扮演著第一線的SQL Server 2005知識和資訊上的救火隊,協助用戶們了解資料庫的新功能和疑難雜症。

因此我們訪問了三位臺灣微軟顧問,他們都是SQL Server 2005還在雛型階段就參與測試和研究,隨著版本多次的變更和功能大翻修,在升級上的困難與升級後的優劣,他們的體會必然更深。在訪談中我們也針對亞力山大和喬篷的案例,予以詢問,解開升級上的種種疑問。

商業智慧升級有其難度,但可提升效能
針對SQL Server 2005在商業智慧在升級時可能會面臨的問題,亞洲資採資深資料採礦顧問尹相志依照報表服務、整合服務與分析服務一一剖析。

報表服務可順利升級,小部份需要修改
報表服務在SQL Server 2000上出現的晚,因此和2005之間彼此相容性佳,一旦新版本的報表服務安裝完畢,升級時只要將舊版的報表檔移到新系統上開啟和重新發佈即可。不過還是有小部份修改調整的空間,像是以前參數設定只能設定單選,不能複選,如果要達到複選的效果,就必須寫程式或使用特殊設計,這些新版本提供的功能,最好將舊版本改成新的作法。

整合服務落差大,但效能明顯提升
整合服務如果利用自動轉換的方式,可能有部份不能成功轉換,但是現在舊的DTS在新版本上不僅能夠執行,也可以設計。

早期DTS每做一個動作就要暫存到一個實體的資料表,磁碟 I/O會一直讀取,導致效能下滑,而整合服務完全在記憶體中作計算,如果能利用新的方式重新設計,就能享受到效能提升的好處。

以新光金控為例,導入整合服務後,使用cube做活存試算的效能快上10倍,結果相當驚人的。由於兩版之間差距甚大,過去DTS只有19個task,現在有70幾個,難免會造成適應和上手的時間變長。務實的作法是先讓它在新版上運作、維護,未來有新的需求再用整合服務設計。

資料採礦須重新設計,線上分析架構翻新
分析服務則分成兩個部分來談,一個是資料採礦,一個是線上分析(OLAP)。資料採擴是無法做升級的,最好是重做,而且新功能演算法增加,功能也較為強大。而線上分析的部份能不能升級則視情況而言,因為在設計概念和整體架構已經不同。

新的方式則是用屬性(attribute)做計算,每一個層級和欄位都可以做一層維度,而特殊維度組合只是把這些拿來排列組合。另一個不同,以前一個cube就只有一個事實資料表,現在一個cube可以有多個事實資料表。至於亞力山大在應用cube上發生問題,就是對於新的架構理解有限,導致無法將不同的事實資料表作串接。事實上SQL Server 2005所有的維度都是虛擬的,只是屬性之間的排列組合對應。

在升級實務上,只要舊版本沒有使用到較複雜的virtual cube和virtual dimension通常可以直接升級,否則就要重作。新版本的好處是在在效能上差很多,以新光銀行的cube去做試算為例,6千萬筆的cube,原來活存處理要2個半小時,在沒有特別調校的情況下新版只要20分鐘,效能相當優異。

整合.NET帶來衝擊開發人員,但可提升開發能力
就微軟資深特約資深顧問楊志強對於SQL Server 2005的觀察,管理面雖然也有許多變革,但多數是使用者界面的改變,真正的挑戰在於設計開發。

.NET與XML強化開發與應用面
SQL Server 2005和2000之間相距5年,之間最大的差異在於.NET。新版將.NET植入資料庫引擎核心,也因此以前在.NET上可以做的事,現在也能在資料庫層次上使用。

在XML使用上也帶來相當大的變革,當XML資料存進SQL Server 2005後,利用XQuery的語法,可以在塊狀的資料中找到想要的訊息。XQuery除了以查詢XML,還可以修改,而修改並非整批換掉,而是可以針對某些節點進行修改。

而服務導向架構現在可以透過資料庫引擎來做,應用程式要存取資料可以直接透過資料庫的Web Services,遠比透過IIS再存取要快,因為節點變少。

另外像是強化T-SQL、多語系支援的增強、通知服務、Service Broker等,都能為開發人員帶來許多優勢。

雖可沿用舊觀念,但使用.NET開發已成趨勢
雖然SQL Server 2000的技術,像是DML、DDL、DCL等都還是能沿用,但這只佔SQL Server 2005功能的1/3。其他的部份如.NET語法的運用,或是通知服務、Service Broker、ADO.NET等功能,合而觀之才能發揮它全部的優點。

.NET的出現並非要取代T-SQL,而是利用各自的長處搭配使用,以.NET而言,適合用在需要大量處理器運算的工作,例如數理計算或加解密,而T-SQL則擅長大量資料新增、修改、刪除等更新動作。SQL Server 2005所需的.NET技術並不需要太高深即可使用。

另外對於喬篷提出擔心因程式撰寫不佳而造成資料庫當機,楊志強認為這種反應相當正常,因為對於新的東西還不夠了解,態度自然會趨於保守,這也和教育資源缺乏相生相成,只有大家了解多一點,實作的經驗多一點,就能解除這種恐懼感。

升級與否但看企業需求
亞力山大從2000升級後,SQL Server無法與其他資料庫連接,恆逸資訊資深講師胡百敬指出,這是在安全的考量下預設關閉對外的連接。至於林明輝協理提出在安裝過程中可以留點彈性點使用者,但胡百敬認為也許對於進階使用者能給予便利性,但對於沒那麼清楚系統的使用者,或許會誤裝或移除元件,反而增加系統不穩定的機率,因此SQL Server在便利與安全的考量下,選擇了安全。

面對SQL Server 2005這個龐大系統,胡百敬提到他從研討會學員得到的反應經常是嚇到了,略帶挫折地說不想學了,不想玩了。

就他協助企業導入資料庫的顧問經驗中,企業對於資料庫只要是運作正常,就沒有迫切升級的必要,除非是舊系統的效能不足,或是系統不夠穩定,再不然就是新的系統具有企業需求的功能,那時才會來談升級,而且越大型的企業通常在升級上態度會傾向保守。與其升級,企業通常會新的應用上導入新資料庫,或是漸進式局部導入。

升級通常帶來效能提升,幅度則不一而足
但大體而言,新的資料庫的確是能帶來效能的提升,但是效能提升幅度則沒有必然性,如果剛好舊系統升級後有使用到2005強化的地方,那麼可能就會有不錯的效能。他曾在技嘉講課時現場執行整合服務功能,原本要幾個小時的處理時間,現在縮短到幾分鐘就完成。但換個角度說,如果舊系統恰好沒有遇到強化的部份,可見的提升就有限。

掌握資料庫基礎精鍊,可克服系統龐雜
對於商業智慧的升級,胡百敬指出整合服務可能是問題最大的地方,因為它和前代的DTS其實是完全不同的產品。過去DTS在ETL的角色上還不夠稱職,新推出的整合服務將資料流程引擎分開,加強了清理、彙總、分支與合併、複製等功能,另外在錯誤處理、物件設定、除錯和效能上也都有相當的改善。DTS 的資料轉換工作與新的資料流程引擎差異極大,複雜的封裝需要考慮重新設計與撰寫。

顯然升級SQL Server 2005絕對不是唾手可得的工作,然而SQL Server 2005對於資料庫開發與管理人員又是遲早要面對的現實,但就如胡百敬在他的書序中所言:「學習新事物時須先像分析系統一樣,要能分得清什麼是基礎,什麼是衍生。…基礎的部份值得精鍊,衍生的部份則視需要學習。」能夠分辨什麼是基礎,什麼是衍生,即使龐雜如SQL Server 2005,也能掌握輕重急緩的次序,一一克服。文⊙黃天賜升級SQL Server 2005三部曲

假如企業計劃的是在新系統上導入SQL Server 2005,透過SQL Server的安裝精靈一路「下一步」到底,系統便幾近安裝完成,除了安全考量所關閉的某些功能,需要企業依自身的需求再做設定。

但如果是打算從舊系統升級到SQL Server 2005,那麼恐怕就不是「下一步」能輕鬆帶過。

我們可以透過流程的角度,大致將過程拆解為評估與計劃、實作升級、升級後測試與上線三個步驟,了解SQL Server 2005的升級步驟。

1.評估與計劃
在邁向SQL Server 2005之前,事先作好評估和計劃至為重要,透過嚴謹的規劃能讓升級的成功率大為提升。
了解SQL Server 2005的支援、相容狀況
在SQL Server 2005上,有些功能已經停止支援,像是不支援isql工具程式、具名管道的備份裝置、DBCC 開頭的指令等都不再支援。還有一些被取代的功能,運作意義改變的功能等,都是使用者必須先了解之後,才不致於在升級過程中浪費精力在早以不存在的功能或錯用工具、指令等。另外像是支援的軟、硬體在32/64位元上也依版本各不相同,也是必須在升級前事先了解,才能做好正確規劃。

這些相關的細節都可以在SQL Server 2005線上叢書取得,可事先到微軟網站下載中文版本,了解新、舊系統之間的差異。

使用評估工具協助
SQL Server 2005在升級之前有一些工具可以幫助使用者更了解系統的升級情況,SQL Server Upgrade Advisor便是其中的佼佼者,能夠在升級之前預先發現升級時的障礙,並將結果以報表回報。

Upgrade Advisor能夠掃瞄7.0/2000的執行個體、T-SQL檔案、DTS檔案,而以報表告知資料庫整體、分析服務、報表服務、通知服務、DTS等是否會在升級過程發生問題,並提供連結至相關線上說明。

「Best Practices Analyzer for Microsoft SQL Server」能針對SQL Server 2000檢測是否符合SQL Server 2005的使用方式。「SQL Server Migration Test Toolkit」能可以協助偵測SQL Server 2000升上2005時潛在的問題。

透過這些工具,可以預先了解升級過程中可能會發生的問題,再擬定適當的升級策略,確保升級過程平順。

升級或移轉兩條徑路
在「升級」一詞底下,其實包含兩個意義,一個即是所謂的升級(Upgrade),另一個是移轉(migration),兩者的分野在於前者透過資料庫提供的安裝精靈就地升級,後者則另外安裝新系統後,再將舊系統的資料與物件搬遷到新系統。

升級過程比起移轉較為簡單快速,而且安裝在原來的伺服器上,使用相同的執行個體名稱,應用程式較不會因為升級而必須修改設定,也不需要再另外準備硬體設備。但由於這個過程是自動完成,所以系統作了哪些改變對資料庫管理員而言掌握度低,而且進行升級過程時系統停止服務,對於某些必須保持不停機作業的企業而言,顯然就不適合。而自動升級對某些元件也不見得適合,像Cube透過移轉的方式結果會比較令人滿意。

相對於升級,進行移轉的資料庫管理人員能有較多的控制權,能針對個別服務或物件進行調整、驗證與移轉的工作,而移轉中過程中,舊系統仍然繼續提供服務。但移轉由於是同時作業,必須有另外的硬體設備才能進行,另外由於個體名稱不同,所以應用程式必須要進行修改才能轉向到新的系統。

升級或移轉彼此之間並沒有孰優孰劣的問題,而要針對企業的現況及對SQL Server 2005的特性加以評估。例如還停留在6.5版的SQL Server,即使想選擇直接升級也沒有辦法達成,只能透過先升到7.0或2000的版本,再升級成2005這種二段式的做法,或者透過整合服務的方式將資料移轉過去。

擬定復原計劃
越是重要的系統,越要審慎以對,升級時也要事先規劃最壞的情況該如何處理,萬一過程發生不可預期的狀況,就需要啟動復原作業,確保系統能回到升級前狀態,並減短停機時間。因此事先的備份作業和復原流程都要預先規劃,才能臨危不亂。

2.實作升級與移轉
如果企業採行的是升級方式,實作升級的方式便是使用SQL Server 安裝精靈,將舊版的系統升上SQL Server 2005。

萬一不適合自動升級的方式,那麼移轉的實作方式便有數種可以選擇。
複製資料庫精靈
複製資料庫精靈能將資料庫和物件移轉或複製到另一臺伺服器,過程中原有的系統仍可作業。複製資料庫精靈可以指定資料庫的檔案位置,並在目的地伺服器上建立登入帳號。

複製資料庫精靈可以複製額外的支援物件、作業、使用者自訂預存程序及錯誤訊息,但不能複製或移動model、msdb 及 master 資料庫。

卸離資料庫/附加資料庫
透過資料庫卸離與附加的功能也可進行移轉作業,但是僅限於使用者資料庫,對於master、model或msdb 資料庫則無法進行。另外須要注意的是,卸離與附加作業無法附加含有建立索引作業的SQL Server 7.0記錄檔。

備份資料庫/還原資料庫
透過還原作業,可將舊系統的備份資料在新系統上升級,但和卸離與附加資料庫功能有一樣的限制,無法還原 master、model或msdb資料庫,也不能含有建立索引作業的SQL Server 7.0記錄檔。

另外,SQL Server 2005 使用與之前版本不同的預設路徑,進行還原作業時須搭配「MOVE」選項。

使用整合服務
透過整合服務的匯入和匯出精靈也可以將資料移轉到SQL Server 2005,尤其是針對無法直接升級到SQL Server 2005的6.5之前的版本,可將資料轉移到新系統。但匯出、匯入功能只限於資料,使用者開發的預存程序或自訂函數則無法移轉。

3.測試與上線
經過升級或移轉作業後,必須針對系統進行檢測,看看是否一切運作正常。測試大致可分為三個範圍,包括功能測試、負載測試和回溯測試。
功能測試
在資料庫移轉之後,先針對資料庫能否正常啟用,新架構的功能是不是都能正常使用,舊有的例行作業是不是都能正常執行等。

壓力測試
使用和舊系統相同的用戶數來作壓力測試,看看是否能承載原有的負載,也可測試升級之後承受壓力上限。

回溯測試
測試新、舊版之間應用程式相容性的問題,確保能在新系統上正常運作。

其他系統升級到SQL Server 2005
SQL Server 2005在定位上瞄準大型企業的資料庫,因此在策略上微軟相當積極拉攏Oracle資料庫的用戶,並提供「SSMA for Oracle Migration to SQL」工具讓使用者下載,能協助使用者彌平系統間的差異,從Oracle移轉資料與物件到SQL Server 2005。

另外微軟也提供了「SSMA for Sybase Migration to SQL」和「SSMA for Access Migration to SQL」,同樣協助使用者從Sybase資料庫以及自家檔案型資料庫Access上移轉。尤其對Access而言,目前Express版本的SQL Server 2005功能遠較Access強大而且免費,仍在使用Access的用戶相當適合升級到Express版本上。文⊙黃天賜



SQL Server 2005升級限制

能升級SQL Server 2005的除了限制在SQL Server 7.0 SP4 以上和SQL Server 2000 SP3之外,針對資料庫版本、語系也有一定的限制。例如企業版升級必須對應的企業版,不能降階升級,但是由下往上升級則不在此限,像是從Express升級到Workgroup的版本。語系版本之間也要保持一致,中文版是無法升級轉換成英文版,唯一的特例是英文版可以升級到其他語系。SQL Server 2005支援32位元與64位元的作業系統(包含IA64與x64),不過Express版本只能在 x86 架構的電腦上執行安裝,在 IA64 上完全無法執行,而在 x64 架構的電腦上則會以WOW64模式執行成 32 位元的應用程式。文⊙黃天賜

熱門新聞

Advertisement