SQL Server 2005 包含了多個能顯著提高開發(fā)者能力的新技術。從支持.NET Framework 到和Visual Studio?的緊密集成,這些新特性使開發(fā)人員能夠以更低的成本,更容易地創(chuàng)建安全、強大的數(shù)據(jù)庫應用程序。SQL Server 2005 提供了一個端到端的數(shù)據(jù)庫開發(fā)環(huán)境,使開發(fā)人員能夠更有效的利用其已有的開發(fā)技能。本機XML功能也使開發(fā)人員能夠創(chuàng)建運行在不同平臺或設備上的新型應用程序。
開發(fā)人員能力的增強包括:
- 擴展的語言支持
- 改進的開發(fā)工具
- 可擴展能力
- 改進的數(shù)據(jù)訪問
- XML 和 Web services
- 應用程序Framework
1、擴展的語言支持
因為通用語言運行時(CLR)被集成在數(shù)據(jù)庫引擎中,所以開發(fā)人員現(xiàn)在可以利用多種他們熟悉的語言來開放數(shù)據(jù)庫應用程序,包括: Transact-SQL, Microsoft Visual Basic? .NET, Microsoft Visual C#? .NET。此外,通過使用用戶定義類型和函數(shù),CLR集成也為開發(fā)人員提供了更多的靈活性。 CLR 為快速數(shù)據(jù)庫應用開放提供了使用第三方代碼的選擇。
CLR/.NET Framework 集成
隨著Microsoft SQL Server 2005的發(fā)布,數(shù)據(jù)庫編程人員現(xiàn)在可以充分利用Microsoft .NET Framework 類庫和現(xiàn)代編程語言來開發(fā)數(shù)據(jù)庫應用。 通過集成的CLR,你可以用.NET Framework language 里的Visual Basic .NET 和C#中的面向對象的結構、結構化的錯誤處理、數(shù)組、名字空間和類來編寫存儲過程、函數(shù)和觸發(fā)器。此外,.NET Framework所提供的幾千個類和方法也擴展了服務器功能,并且能夠非常容易的在服務器端使用它。許多之前我們用T-SQL難以實現(xiàn)的任務現(xiàn)在可以更容易的用托管代碼實現(xiàn)。此外,還新增了兩個數(shù)據(jù)庫對象類型:聚合和用戶自定義類型。現(xiàn)在,你能夠更好的利用已掌握的知識和技能編寫in-process 代碼。 總之,SQL Server 2005能夠擴展你的數(shù)據(jù)庫服務器,使其更容易在后臺執(zhí)行適當?shù)挠嬎愫筒僮鳌?/P>
SQL Server 和 CLR 的集成主要提供了如下好處:
- 增強的編程模型:.NET Framework 兼容的編程語言在很多方面要比T-SQL更強大,它提供給SQL 開發(fā)人員之前沒有的架構和功能。
- 增強的安全性: 在CLR環(huán)境下運行的托管代碼被數(shù)據(jù)庫引擎所控制,這使得 .NET Framework 數(shù)據(jù)庫對象能夠比以前版本的SQL Server中的擴展存儲過程運行的更安全和具備更好的安全性。
- 用戶自定義類型和聚合: 借助宿主CLR,這兩個新的數(shù)據(jù)庫對象擴展了SQL Server 的存儲和查詢能力。
- 通用開發(fā)環(huán)境: 數(shù)據(jù)庫開發(fā)被集成到Microsoft Visual Studio 2005 開發(fā)環(huán)境中。 你用來開發(fā)中間層和客戶層.NET Framework組件和服務的工具同樣可以被用來開發(fā)和調試數(shù)據(jù)庫對象和腳本。
- 性能和可伸縮性: 因為托管代碼被編譯為本機代碼得以優(yōu)先執(zhí)行,在某些場合你可以得到顯著的性能提升。
利用CLR集成,你可以用Visual Basic .NET 和 C#這樣的語言寫出具有更復雜邏輯的代碼和更適用于計算型任務的代碼。而且, Visual Basic .NET 和 C# 還提供了諸如封裝、繼承、多態(tài)這樣的面向對象的功能。你現(xiàn)在可以更容易的把代碼和類、名字空間組織在一起,這意味著你更容易組織和維護工作產生的大量代碼。這種從邏輯上和物理上把代碼組織到裝配件和名字空間中的功能非常有用,它將使你能夠更好的在一個大型數(shù)據(jù)庫實現(xiàn)項目中發(fā)現(xiàn)和關聯(lián)不同的代碼塊。
托管代碼在處理運算和管理復雜執(zhí)行邏輯上比T-SQL更有效,并且提供了對字符串處理、正則表達式之類功能的額外支持。此外,由于現(xiàn)在可以利用.NET Framework類庫的功能,你可以更容易的從存儲過程、觸發(fā)器、用戶定義函數(shù)中訪問幾千個內置的類和例程(routines)。通過托管存儲過程、函數(shù)、觸發(fā)器、聚合,可以更容易的實現(xiàn)字符串處理、數(shù)學函數(shù)、日期操作、系統(tǒng)自由訪問、高級加密算法、文件訪問、圖像處理、XML數(shù)據(jù)操作等功能。
托管代碼的一個主要好處就是類型安全。在托管代碼執(zhí)行前,CLR將執(zhí)行一些檢查,通過一個被稱之為“驗證”的處理過程來保證所執(zhí)行的代碼是安全的。例如,會檢查代碼以確保不會讀未寫的內存地址。
Transact-SQL 增強
Transact-SQL 一直以來就是SQL Server所有編程的基礎。SQL Server 2005 提供了很多新的語言功能用以開發(fā)可伸縮的數(shù)據(jù)庫應用程序。這些增強包括錯誤處理、新的遞歸查詢功能、對新的SQL Server數(shù)據(jù)庫引擎功能的支持等。SQL Server 2005中的 Transact-SQL 增強功能提高了您在編寫查詢時的表達能力,使您可以改善代碼的性能,并且擴充了您的錯誤管理能力。Microsoft 在增強 Transact-SQL 方面不斷付出的努力顯示了對它在 SQL Server 中具有的重要作用、它的威力以及它的將來所懷有的堅定信念。
2、改進的開發(fā)工具
開發(fā)人員現(xiàn)在能夠用一個開發(fā)工具開發(fā)Transact-SQL, XML, Multidimensional Expressions (MDX), and XML for Analysis (XML/A)應用。和Visual Studio 開放環(huán)境的集成也為關鍵業(yè)務應用和商業(yè)智能應用提供了更有效的開發(fā)和調試環(huán)境。
商業(yè)智能開發(fā)工具集
商業(yè)智能開發(fā)工具集是一個基于Visual Studio 的通用開發(fā)環(huán)境,可用于創(chuàng)建BI解決方案,包括:數(shù)據(jù)庫引擎,分析服務,報表服務等。也可以利用BI開發(fā)工具集的圖形化用戶界面來設計數(shù)據(jù)管理程序的SQL Server Integration Services (SSIS) 包,在BI開發(fā)工具集中,可以通過從工具欄中拖放任務,設置屬性,用先后次序連接任務等操作來設計、開發(fā)和調試SSIS 包。圖 3 顯示了這一接口。
圖 3: 在Visual Studio中的BI開放工具集接口
Visual Studio 集成
SQL Server 2005 和 Visual Studio 2005 在數(shù)據(jù)庫和應用程序開發(fā)之間提供了前所未有的深度集成。開發(fā)人員現(xiàn)在可以在Visual Studio開發(fā)環(huán)境中直接創(chuàng)建CLR 存儲過程,函數(shù),用戶定義類型,用戶定義聚合等,他們還可以直接從Visual Studio中部署這些新的數(shù)據(jù)庫類型,而無需用別的工具。Visual Studio 2005 支持所有新的SQL Server 數(shù)據(jù)類型,諸如本機XML等。你也能夠把CLR數(shù)據(jù)庫對象加入到和別的Visual Studio 項目一樣的源碼控制系統(tǒng)中,這樣為你的開發(fā)過程提供了更好的集成和安全。
交叉層和交叉語言調試
SQL Server 2005 和 Visual Studio 2005 在應用程序調試領域提供了更為緊密的集成。現(xiàn)在你可以使用同樣的Visual Studio調試接口無縫的調試CLR和T-SQL代碼,而無需關心代碼的位置是存在開發(fā)人員的機器上還是SQL Server 數(shù)據(jù)庫上。