原生 XML Web 服務:在 SQL Server 2008 中已被取代
未來的 Microsoft SQL Server 版本將移除這項功能。請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。
在 SQL Server 2008 中,原生 XML Web 服務 (SOAP/HTTP 端點) 已被取代;原生 XML Web 服務將會從後續版本的 SQL Server 中移除。計畫將您現有的 SOAP/HTTP 端點轉換為使用 Windows Communications Foundation (WCF) 或 ASP.NET。請避免在新的開發工作中使用 SOAP/HTTP 端點。
探索使用 SOAP 端點的地方
您可以看到應用程式使用 SOAP 端點的地方,如下所示:
執行 Upgrade Advisor 的時機
將 SQL Server 版本升級到 SQL Server 2008 時。
當您在 SQL Server Profiler 中執行應用程式,並篩選 Profiler 輸出來顯示 Deprecation: Warning 事件時。
建立或修改 SOAP 端點時,SQL Server 引擎會發出警告。
SQL Server 錯誤記錄檔將會包含啟動 SQL Server 時啟用之已被取代 SOAP 端點的警告。
當在預存程序中發出的 SOAP 端點使用 SQL Server 2005 之後推出的資料類型時,應用程式會失敗。
XML 原生 Web 服務對於 SQL Server 2005 之後加入之料類型的支援
本節討論從 SQL Server 2008 開始加入,而且顯示為預存程序參數 (公開為 Web 服務) 和 SqlBatch 參數 (特定 Transact-SQL 查詢) 之資料類型的處理方法。
功能 |
處理方法 |
---|---|
產生 WSDL |
在 WSDL 產生過程中,系統會針對參數資料類型和安全性權限評估預存程序。如果其中一個預存程序參數是 SQL Server 2008 資料類型,預存程序將會在最終產生的 WSDL 文件中,以 XML 註解的形式 (<!-- text-->) 標記為註解。 |
預存程序參數處理方法 |
建立端點時,與 SQL Server 2005 SOAP 端點一樣,每個端點都不會驗證對應到端點的預存程序。因此,接收 SOAP 要求時,只會在執行階段驗證預存程序。接收 SOAP 要求時,SQL Server 將會運用此驗證程序確認該要求用於預存程序,並檢查預存程序參數中繼資料,查看是否有任何未知的參數 (例如,SQL Server 2008 資料類型)。如果有任何未知的參數,伺服器會將 SOAP 錯誤傳回用戶端,而且不執行其他任何處理。 |
結果集處理方法 |
當 SELECT 陳述式結果集包含一或多個從 SQL Server 2008 開始加入之資料類型的資料行,SOAP 元件將:
|
SqlBatch 參數處理方法 |
特殊的 SqlBatch 方法支援在 sqltypes 命名空間和 xsd 命名空間中宣告參數資料類型。sqltypes 命名空間不支援從 SQL Server 2008 開始加入的資料類型。SQL Server 2005 的 xsd 到 sqltypes 資料類型對應仍然有效。xsd:dateTime 將會繼續對應到 dateTime 而非 dateTimeOffset。 |
sys.soap_endpoints 和 sys.endpoint_webmethods 已被取代
下列類別目錄檢視也已被取代: