本文是根據 Microsoft sql server(代號“Yukon”)的 Beta 1 撰寫的,其中包含的所有信息均可能更改 China It Power . ComjTK7Wf5
注:本文是在產品投放生產之前編寫的,因此,我們無法保證此處包含的任何細節都與在交付使用的產品中發現的細節完全一致。文中信息描述的是本文發布之時的產品,僅供規劃之用。這些信息可在任何時候更改,恕不預先通知。China It Power . ComjTK7Wf5
Transact-SQL 的增強功能 SQL Server Yukon .NET 編程 利用 CLR 在 T-SQL 和托管代碼之間選擇 用戶定義的類型、函數和聚合 托管存儲過程 XML 和 SQL Server Yukon XML 數據類型 XSD 和XML 數據類型 XML 查詢 了解 Microsoft XQuery Designer 了解 SQL Server 服務代理 數據庫集成 SQL Server Yukon 的可編程場景 小結 China It Power . ComjTK7Wf5
在 Microsoft SQL Server™ 下一版本(代號為“Yukon”)的規劃階段,考慮更多的是數據庫的未來發展以及 SQL Server 的編程能力。Microsoft 內部的開發人員很早就意識到,未來必須引入更加對稱的編程模型,還要為不同的數據模型提供更多的靈活性。編程模型對稱的目的意味著,普通的數據訪問和操作任務可以通過多種途徑進行 — 使用 XML、Microsoft .NET 框架或 Transact-SQL (T-SQL) 代碼。China It Power . ComjTK7Wf5
這種規劃帶來的結果就是一個新的數據庫編程平台,它在許多方面都進行了擴展。首先,寄主 .NET 框架公共語言運行庫 (CLR) 的功能將數據庫擴展到過程化編程和托管代碼的領域。其次,.NET 框架宿主集成提供了來自 SQL Server 內部強大的對象數據庫功能。對 XML 的深入支持是通過功能完善的 XML 數據類型實現的,它擁有關系數據類型的所有功能。此外,還添加了對 XML 查詢 (XQuery) 和 XML 架構定義語言 (XSD) 標准的服務器端支持。最後,SQL Server Yukon 包含了 T-SQL 語言的重要增強功能。China It Power . ComjTK7Wf5
這些新的編程模型和增強的語言共同創造了一系列的可編程性,它們補充並擴展了目前的關系型數據庫模型。這種體系結構帶來的最終結果是能夠創建更可伸縮、更可靠、更健壯的應用程序,並提高了開發人員的工作效率。這些模型的另一個結果就是一種稱為 SQL 服務代理的新應用程序框架 — 用於異步消息傳遞的分布式應用程序框架。稍後,我將在文中對 Yukon SQL 服務代理做進一步討論。現在,請先看看編程模型中的主要更改和增強功能,讓我們從 T-SQL 開始。China It Power . ComjTK7Wf5
Yukon 為 T-SQL 語言提供了更多新的語言構造和基元,這裡無法一一列舉。所有這些內容,您均可以在 SQL Server Yukon Books Online 中找到。對 T-SQL 語言的增強功能反映出對 ANSI-99 SQL 規范更有力地遵守,並且這些增強也是對用戶請求的響應。T-SQL 中的許多改進主要集中在查詢表達方式的改善方面。有幾個新的查詢類型允許用 T-SQL 代碼處理常見情況。例如,遞歸查詢提供了生成材料帳單或層次結構結果集的功能。China It Power . ComjTK7Wf5
Yukon 中的 T-SQL 提供了新的 PIVOT 和 UNPIVOT 運算符。這些運算符對輸入表值表達式執行操作,並生成一個輸出表作為結果集。PIVOT 運算符可將行旋轉為列,根據該思路可以選擇性地執行聚合或其他數學計算。這就拓寬了基於給定旋轉列的輸入表表達式,並生成了一個輸出表,其中的一列為旋轉列中的每個唯一值。UNPIVOT 運算符執行的操作與 PIVOT 相反;它將列旋轉為行。UNPIVOT 運算符收縮了基於旋轉列的輸入表表達式。China It Power . ComjTK7Wf5
Yukon 引入了一種新的、簡單的但更強大的異常處理機制,該機制采用 TRY/CATCH T-SQL 構造的形式。現在,便可以捕獲和處理那些使批處理終止的事務中止錯誤了。此外,還有一些新的語言構造,用於安全、復制、通知服務、XML 以及 .NET 框架提供的所有功能。服務器端的 .NET 框架實現是 SQL Server 產品周期中的重要進展。China It Power . ComjTK7Wf5
返回頁首現在,開發人員可以利用任意 Microsoft .NET 兼容的語言(包括 Visual Basic .NET 和 C#)編寫存儲過程、觸發器和用戶定義的函數 (UDF)。此外,三種新對象(用戶定義的類型 (UDT)、聚合和函數)還可以用托管代碼來創建。CLR 是 .NET 框架的核心,它為所有基於 .NET 框架的代碼提供了執行環境。CLR 提供了程序執行所需的各種函數和服務,包括實時編譯、內存管理和分配、類型安全強制、異常處理、線程管理以及安全。SQL Server Yukon 作為這一功能的宿主,就象操作系統寄主應用程序一樣。China It Power . ComjTK7Wf5
作為 CLR 集成的結果,Yukon 還提供了自動內存管理、資源分配和垃圾收集等功能。通過進入 SQL Server 執行空間,SQL Server 可提供 .NET 程序集對數據庫對象的直接訪問。數據訪問通過一種特殊形式的 ADO.NET 實現。本文不討論數據庫中 ADO.NET 功能這一部分。但是,由於訪問方法與那些開發人員熟悉的方法非常類似,因此使用 CLR 的功能很容易。China It Power . ComjTK7Wf5