本文基於 Microsoft SQL Server 2005(代號「Yukon」)Beta 1 版本撰寫,所有資訊均可能隨正式版釋出而變更。文中所述功能旨在協助開發人員規劃與評估,不保證與最終產品完全一致。
SQL Server 2005 寄宿 .NET Framework 通用語言執行平台(CLR),將資料庫擴展至程序性程式設計與托管代碼領域。開發人員可依據案例需求,選擇使用 XML、.NET Framework 或 T-SQL 完成資料存取與操作,實現對稱的程式設計模型。
適合回傳簡單結果集或執行 DML/DDL 陳述式。註冊語法範例:
CREATE PROCEDURE mysproc (@username NVARCHAR(4000)) AS EXTERNAL NAME YukonCLR:[MyNamespace.CLRCode]::myfunction
XML 從表示技術演進為線路格式,現成為原生儲存格式。XML 資料類型為功能完整的類型,具備關聯資料類型所有能力:可建立索引、透過 XSD 結構描述加入約束、使用內嵌 XQuery 查詢、支援 modify() 方法新增/刪除/更新節點。
建立 XML 欄位時可關聯 XSD 文件,透過 DDL 語法:
CREATE TABLE T (pk INT, xCol XML('mySchema'))
結構描述匯入後會被剖析為元素(ELEMENT、ATTRIBUTE、TYPE 等)儲存於系統資料表,不保留原始結構描述文件,建議另行備份。可使用 XML_SCHEMA_NAMESPACE('uri') 擷取結構描述內容。
XQuery 為針對所有類型 XML 資料優化的查詢語言,支援型別關聯方法對變數與欄位查詢,可在同一批次中跨關聯與 XML 資料查詢。SQL Server 2005 支援 XQuery 1.0 工作草案(2001/12/20 ~ 2002/11/15)的靜態型別化子集。XQuery 由前導(命名空間宣告、結構描述匯入)與主體(運算式序列)組成,透過 query()、value()、exist()、modify() 方法執行。
整合於 SQL Server Workbench 的視覺化工具,協助開發人員無需深究 XQuery 語法即可編寫查詢、操作與擷取 XML 資料。
服務代理提供可靠的非同步訊息傳遞架構,支援資料庫內部或跨執行個體的訊息路由。核心優勢:
結合 XML、CLR、服務代理與 T-SQL 增強功能,構建可靠、可擴充的完整資料庫應用:
SQL Server 2005 引入 CLR 整合、原生 XML 支援、XQuery、服務代理與 T-SQL 增強,共同創造前所未有的資料庫程式設計能力。開發人員擁有多元資料存取與操作路徑,能建構更可擴充、可靠、健壯的應用程式,並大幅提升開發效率。立即體驗 Yukon Beta 版,持續關注 MSDN Magazine 後續報導。
作者:Eric Brown,Microsoft SQL Server 團隊成員,具備豐富資料庫開發經驗。