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