對資料庫的開發人員而言,無論是開發環境與Visual Studio 2005整合,或是資料庫核心採用.NET架構,或像Service Broker、Notification簡化程式開發,以及原生XML語法、Transaction-SQL強化等,SQL Server 2005讓資料庫開發工作比起2000時代更為容易,需要撰寫的程式碼減少,開發人員可以專注應用面的架構與設計。

CLR整合到資料庫引擎,增加開發彈性與可攜性

SQL Server 2005將CLR(Common Language Runtime)整合到資料庫引擎核心,這也是與2000版本相較的一大改變,藉此可將.NET的開發技術與經驗,沿伸到資料庫開發上,使用者能利用C# .NET、VB.NET開發資料庫。另外,CLR也增加了程式的可攜性,如預存程序或自訂函數,其他廠商的資料庫只要支援CLR,便可將原來自訂的程式搬移過去執行,省去重覆開發的力氣。

SQL Server 2005整合CLR之後,使用者可以透過in-process組件直接在資料庫中執行列管碼(managed code),建立列管預存程序、觸發程序、使用者自訂函數、使用者定義類型及彙總。透過.NET的整合,使用者在開發、部署與除錯上,能在Visual Studio.NET的環境中完成,而.NET的程式資源,也都成為資料庫開發可以應用的對象。和傳統使用T-SQL開發資料庫預存程序、觸發程序、與使用者自訂函數比較,.NET一樣可以做到之外,還能自訂類型與彙總。不過這也不意味著.NET會取代T-SQL,它們各自有運用的時機,簡單來說,如果在使用上適合用物件導向,或者有較複雜的邏輯處理,像是例外處理,或是比較偏重處理器運算的工作,例如加解密,這些工作使用.NET列管碼的效能會比較好;如果使用的是大量更新、選取等資料處理或資料表、檢視表處理,則T-SQL仍是較佳的使用工具。

原生XML支援,增強查詢及增刪能力

XML在今年慶祝成為標準規格5周年,由於擁有自行定義文件標籤的彈性,延伸性極佳,加上在Web Service在網路活動的重要性與日俱增下,XML成了不同平臺與應用程式之間,資料交換與應用的重要語法。其實早在SQL Server 2000就已經支援XML,使用者可以利用Select語法加上FOR XML子字句查詢,查詢結果即會以XML格式顯示。

SQL Server 2005在XML的變革上,首先是資料型態增加了XML格式,不僅能夠儲存XML檔案,更可以運用在資料表中,也可用於變數或預存程序的參數。2000當然也可以儲存XML,不過它是以文字型態視之,無法理解XML結構的意義,造成查詢效率低落,也無法對XML的shema作驗證。

XML欄位可以透過XML索引的建立,當查詢的XML值較大時,能夠提升查詢處理效能。建立一個XML主索引會在XML所有標記、值和路徑上建立平衡樹(B-tree)結構的索引。一旦索引建立之後,在保有原有檔案順序及架構下,能對XML作路徑、屬性和值的查詢,重新組合出XML值。另外,也可以對XML欄位建立全文索引,如此一來便能忽略XML標記,而只在內容中查詢。

強化語法與新增服務,加速資料庫開發

SQL Server 2005整合性的開發介面讓資料庫開發程式開發人員不用在一堆介面間操作轉換,簡化開發程序。此外,像T-SQL語法強化,ADO.NET 2.0的支援,以及新推出的Service Broker與Notification等,都讓程式開發人員可以更快完成程式開發。

加強T-SQL語法處理能力

T-SQL語法新增了資料類型,如varchar(max)、nvarchar(max)、varbinary(max)、XML等。以往使用字串時,varchar、nvarchar會受限於一個頁(page)的大小,超過大小時,就得用text,而text類型無法使用一般字串處理函數來處理現在無論字串或是二進位的格式,只要在2GB的上限之內,一般函式都能處理。

新的Pivot、Unpivot可以讓使用者看到不同角度的集總資料,比起以往的Cube、Rollup指令,更為簡單易用。

另外,T-SQL也增加了「try…catch…」的例外處理使用方式及在DDL中撰寫觸發程序,擴展以前只能加在DML指令的侷限。

Service Broker促成分散式架構及非同步訊息處理

在訊息整合解決方案上,SQL Server 2005推出Service Broker,增加資料庫本身處理非同步資料,讓資料庫與資料庫之間可以溝通,代替以往利用Windows伺服器訊息佇列(MSMQ)在系統與系統間溝通。

將訊息放在資料庫,可以受到資料庫等級的保護,例如有交易、叢集伺服器或資料庫鏡像等技術的保障。另外,過去訊息存放在系統中,須使用分散性交易和跨越外部訊息程式,透過資料庫則可免去兩階段的確認,提升執行效能。在安全性上,可進行對稱式加密及連線驗證機制,資訊將更加安全。

Notification彈性配對、遞送訊息

Notification Service具有一個配對引擎,可以根據系統事件的改變,例如一份新報表的產出,與使用者端設定的訊息訂閱方式,例如用電子郵件或簡訊接收。這項主動通知服務利用XML將組態資訊儲存在資料庫中,其中的資訊包括了訂閱者、訂閱資訊與訂閱遞送方式。

支援ADO.NET 2.0,加強網路資料處理能力

SQL Server 2005支援ADO.NET 2.0,因此使用者在資料庫開發上,利用ADO.NET為SQL Server強化處理能力。例如多資料結果集(Multiple Active Result Sets,MARS)的處理能力,可減少資料庫連結資源的耗損與負載,能使資料庫在容錯移轉時自動進行,非同步執行命令可提升執行效能,減少等待時間。

微軟將.NET與資料庫整合,為資料庫開發工作帶來新的契機,一些原本必須使用繁複T-SQL語法才能達成的工作,透過.NET語言以簡御繁,能讓開發工作更順暢。另外,如原生XML與ADO.NET語法的支援與Service Broker等,將更容易開發網路服務。

程式開發是資料庫應用的關鍵,SQL Server 2005的轉變,為開發工作提供更多支援的力量。文⊙黃天賜

相關文章:

扛起企業重資料,SQL Server 2005邁進企業級資料庫

管理篇-SQL Server 2005管理新世界

商業智慧篇-加值BI應用,擴展資料庫新價值

熱門新聞

Advertisement