首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 2000 HTTP 端點存取指南:虛擬目錄、範本與 XPath 查詢

     編輯:關於SqlServer

概述

SQL Server 2000 透過 IIS 虛擬目錄管理工具,支援以 HTTP/HTTPS 直接存取資料庫、執行查詢並以 XML 格式回傳結果。雖屬舊世代技術,理解其架構有助於維護既有系統或進行遷移評估。

核心功能

  • URL 直接查詢:https://IISServer/vroot?sql=SELECT+*+FROM+Customers+FOR+XML+AUTO&root=root
  • 範本執行:預先定義 XML 範本檔,URL 引用執行:https://IISServer/vroot/templateName/template.xml
  • XPath 查詢對應結構描述:針對 XDR 結構描述 (Mapping Schema) 執行 XPath:https://IISServer/vroot/schemaName/schema.xml/Customer[@CustomerID='ALFKI']
  • 直接存取資料庫物件:https://IISServer/vroot/dbobjectName/XPathQuery

虛擬目錄類型與虛擬名稱

類型用途虛擬名稱範例
template儲存/執行 XML 範本檔TemplateVirtualName
schema儲存/查詢 XDR 結構描述SchemaVirtualName
dbobject直接暴露資料表/檢視表DbobjectVirtualName

XML 文件與片段差異

  • 完整 XML 文件:含單一根元素,回應含 Byte Order Mark (BOM),如 root=root 參數指定根元素名稱。
  • XML 片段:無單一根元素、無 BOM、無 XML 宣告,適合串流處理或片段嵌入。

資源管理關鍵提醒

URL 查詢若建立暫存表、暫存程序、游標或呼叫 sp_xml_preparedocument,必須在同一連線中執行對應釋放命令 (DROP TABLE, DEALLOCATE CURSOR, sp_xml_removedocument) ,否則會導致記憶體洩漏與連線池耗盡。

IIS 虛擬目錄管理工具設定要點

  1. 工具位置:開始 → 程式集 → Microsoft SQL Server → 設定 SQL XML 支援於 IIS 中
  2. 建立虛擬根目錄時指定:
    ① IIS 網站與虛擬目錄路徑
    ② SQL Server 執行個體、資料庫、驗證模式 (SQL/Windows)
    ③ 安全性設定:允許 URL 查詢、範本、XPath、資料庫物件存取等細粒度權限
  3. 虛擬名稱建立:在虛擬根目錄下新增 template, schema, dbobject 三類虛擬名稱,分別對應實體資料夾。

安全性強化建議

  • 優先使用 範本檔 而非 URL 直寫 SQL,隱藏資料庫結構、防止注入。
  • 將範本/結構描述檔置於虛擬根目錄下,停用虛擬根上的 URL 查詢處理,僅允許 SQL XML ISAPI 處理檔案請求。
  • 採用 Windows 整合驗證,避免在連線字串中明文傳遞帳密。
  • IIS 層面啟用 SSL、IP 限制、請求篩選 (URLScan/Request Filtering)。

遷移指引

SQL Server 2005+ 引入原生 HTTP 端點 (CREATE ENDPOINT) 並逐漸取代 IIS 虛擬目錄模式;SQL Server 2012 移除 SQL XML ISAPI。現代架構建議改用 ASP.NET Core Web API / OData / GraphQL 等標準化 RESTful 介面,配合 Entity Framework / Dapper 存取資料。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved