SQL Server 2000 透過 IIS 虛擬目錄管理工具,支援以 HTTP/HTTPS 直接存取資料庫、執行查詢並以 XML 格式回傳結果。雖屬舊世代技術,理解其架構有助於維護既有系統或進行遷移評估。
https://IISServer/vroot?sql=SELECT+*+FROM+Customers+FOR+XML+AUTO&root=roothttps://IISServer/vroot/templateName/template.xmlhttps://IISServer/vroot/schemaName/schema.xml/Customer[@CustomerID='ALFKI']https://IISServer/vroot/dbobjectName/XPathQuery| 類型 | 用途 | 虛擬名稱範例 |
|---|---|---|
| template | 儲存/執行 XML 範本檔 | TemplateVirtualName |
| schema | 儲存/查詢 XDR 結構描述 | SchemaVirtualName |
| dbobject | 直接暴露資料表/檢視表 | DbobjectVirtualName |
root=root 參數指定根元素名稱。URL 查詢若建立暫存表、暫存程序、游標或呼叫 sp_xml_preparedocument,必須在同一連線中執行對應釋放命令 (DROP TABLE, DEALLOCATE CURSOR, sp_xml_removedocument) ,否則會導致記憶體洩漏與連線池耗盡。
開始 → 程式集 → Microsoft SQL Server → 設定 SQL XML 支援於 IIS 中template, schema, dbobject 三類虛擬名稱,分別對應實體資料夾。SQL Server 2005+ 引入原生 HTTP 端點 (CREATE ENDPOINT) 並逐漸取代 IIS 虛擬目錄模式;SQL Server 2012 移除 SQL XML ISAPI。現代架構建議改用 ASP.NET Core Web API / OData / GraphQL 等標準化 RESTful 介面,配合 Entity Framework / Dapper 存取資料。