CREATE ENDPOINT (Transact-SQL)
建立端點及定義其屬性,包括用戶端應用程式可用的方法。如需相關的權限資訊,請參閱<GRANT 端點權限 (Transact-SQL)>。
在邏輯上,CREATE ENDPOINT 的語法可分為兩個部分:
- 第一部分從 AS 開始,並在 FOR 子句之前結束。
在這個部分,您提供傳輸通訊協定特定資訊作為 TCP 或 HTTP,並設定端點的接聽通訊埠編號,以及端點驗證的方法及 (或) 您要限制其存取端點的 IP 位址 (如果有的話) 清單。 - 第二個部分從 FOR 子句開始。
在這個部分,您定義端點上支援的裝載。裝載可以是下列數個支援的類型之一:SOAP、Transact-SQL、Service Broker 和資料庫鏡像。在這個部分,您還會併入特定語言資訊。例如,使用 HTTP SOAP 時,您要識別您想在端點中公開作為 Web 方法的程序。針對每個 Web 方法,您必須識別相對應的 SQL Server 預存程序或它所對應的使用者自訂函數。如此一來,用戶端應用程式就可以傳送 HTTP SOAP 要求,來呼叫端點中的這些方法。您也可以提供其他 SOAP 組態資訊,如下所示:- 是否允許特定查詢要求
- 是否傳回結果集的 XSD 結構描述
- 執行所要求的方法時所在的資料庫內容
- 端點的命名空間
- 如何處理結果中不適用於 XML 的字元
語法
CREATE ENDPOINT endPointName [ AUTHORIZATION login ]
[ STATE = { STARTED | STOPPED | DISABLED } ]
AS { HTTP | TCP } (
<protocol_specific_arguments>
)
FOR { SOAP | TSQL | SERVICE_BROKER | DATABASE_MIRRORING } (
<language_specific_arguments>
)
<AS HTTP_protocol_specific_arguments> ::=
AS HTTP (
PATH = 'url'
, AUTHENTICATION = ( { BASIC | DIGEST | INTEGRATED | NTLM | KERBEROS } [ ,...n ] )
, PORTS = ( { CLEAR | SSL} [ ,... n ] )
[ SITE = {'*' | '+' | 'webSite' },]
[ [ , ] CLEAR_PORT = clearPort ]
[ [ , ] SSL_PORT = SSLPort ]
[ [ , ] AUTH_REALM = { 'realm' | NONE } ]
[ [ , ] DEFAULT_LOGON_DOMAIN = { 'domain' | NONE } ]
[ [ , ] COMPRESSION = { ENABLED | DISABLED } ]
)
<AS TCP_protocol_specific_arguments> ::=
AS TCP (
LISTENER_PORT = listenerPort
[ [ , ] LISTENER_IP = ALL | ( 4-part-ip ) | ( "ip_address_v6" ) ]
)
<FOR SOAP_language_specific_arguments> ::=
FOR SOAP(
[ { WEBMETHOD [ 'namespace' .] 'method_alias'
( NAME = 'database.schema.name'
[ [ , ] SCHEMA = { NONE | STANDARD | DEFAULT } ]
[ [ , ] FORMAT = { ALL_RESULTS | ROWSETS_ONLY | NONE } ]
)
} [ ,...n ] ]
[ [ , ] BATCHES = { ENABLED | DISABLED } ]
[ [ , ] WSDL = { NONE | DEFAULT | 'sp_name' } ]
[ [ , ] SESSIONS = { ENABLED | DISABLED } ]
[ [ , ] LOGIN_TYPE = { MIXED | WINDOWS } ]
[ [ , ] SESSION_TIMEOUT = timeoutInterval | NEVER ]
[ [ , ] DATABASE = { 'database_name' | DEFAULT }
[ [ , ] NAMESPACE = { 'namespace' | DEFAULT } ]
[ [ , ] SCHEMA = { NONE | STANDARD } ]
[ [ , ] CHARACTER_SET = { SQL | XML } ]
[ [ , ] HEADER_LIMIT = int ]
)
<FOR SERVICE_BROKER_language_specific_arguments> ::=
FOR SERVICE_BROKER (
[ AUTHENTICATION = {
WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ]
| CERTIFICATE certificate_name
| WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ] CERTIFICATE certificate_name
| CERTIFICATE certificate_name WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ]
} ]
[ [ , ] ENCRYPTION = { DISABLED | { { SUPPORTED | REQUIRED }
[ ALGORITHM { RC4 | AES | AES RC4 | RC4 AES } ] }
]
[ [ , ] MESSAGE_FORWARDING = { ENABLED | DISABLED } ]
[ [ , ] MESSAGE_FORWARD_SIZE = forward_size ]
)
<FOR DATABASE_MIRRORING_language_specific_arguments> ::=
FOR DATABASE_MIRRORING (
[ AUTHENTICATION = {
WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ]
| CERTIFICATE certificate_name
| WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ] CERTIFICATE certificate_name
| CERTIFICATE certificate_name WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ]
[ [ [ , ] ] ENCRYPTION = { DISABLED | { { SUPPORTED | REQUIRED }
[ ALGORITHM { RC4 | AES | AES RC4 | RC4 AES } ] }
]
[ , ] ROLE = { WITNESS | PARTNER | ALL }
)
引數
- endPointName
這是您要建立之端點的指派名稱。更新或刪除端點時可使用該名稱。
AUTHORIZATION login
指定被指派新建立之端點物件擁有權的有效 SQL Server 或 Windows 登入。如果未指定 AUTHORIZATION,依預設,呼叫者會成為新建立之物件的擁有者。若要指定 AUTHORIZATION 來指派擁有權,呼叫者必須具備指定 login 的 IMPERSONATE 權限。
若要重新指派擁有權,請參閱<ALTER ENDPOINT (Transact-SQL)>。
STATE = { STARTED | STOPPED | DISABLED }
這是建立端點時的端點狀態。如果在建立端點時沒有指定狀態,STOPPED 是預設值。- STARTED
端點已啟動,並主動接聽連接。
- DISABLED
端點已停用。在這種狀態下,伺服器不接聽端點埠或不回應任何嘗試使用該端點的要求。
- STOPPED
端點已停止。在這種狀態下,伺服器會接聽通訊埠要求,但會將錯誤傳回用戶端。
若要變更狀態,請使用 ALTER ENDPOINT (Transact-SQL)。
- STARTED
- AS { HTTP | TCP }
指定要使用的傳輸通訊協定。
FOR { SOAP | TSQL | SERVICE_BROKER | DATABASE_MIRRORING }
指定裝載類型。目前並沒有 TSQL <language_specific_arguments>。
HTTP 通訊協定選項
下列項目只適用於 HTTP 通訊協定選項。
- PATH = 'url'
指定 URL 路徑,來識別 SITE 引數中指定之主機電腦上的端點位置。PATH 是 URL 命名空間的邏輯資料分割,接聽程式會利用這個 URL 命名空間來適當路由要求。PATH 必須 URL 的一部分,用戶端會利用這個 URL,將 HTTP SOAP 要求傳送給 SQL Server 的執行個體。例如:在 URL https://ServerName/Sql 中,ServerName 是 SITE 指定的主機電腦,/Sql 則是 PATH 指定的 URL。
- AUTHENTICATION = ( { BASIC | DIGEST | NTLM | KERBEROS | INTEGRATED } [ ,...n ] )
指定用來驗證登入 SQL Server 之執行個體的使用者之驗證類型。您可以指定 BASIC、DIGEST、NTLM、KERBEROS 或 INTEGRATED,或指定這些值的組合 (需以逗號 (,) 分隔)。如需詳細資訊,請參閱<結束點驗證類型>。
- PORTS**=(** { CLEAR | SSL} [ ,... n ] )
指定一或多個關聯於端點的接聽通訊埠類型。CLEAR 和 SSL 可以同時指定。如果只指定 CLEAR,內送要求必須使用 HTTP。如果指定 SSL,內送要求必須是安全 HTTP (https://) 要求。
[ SITE = { ' * ' | ' + ' | 'webSite' } ]
指定主機電腦的名稱。如果省略 SITE,星號是預設值。如果執行了 sp_reserve_http_namespace,則將 <hostpart> 傳遞至 SITE 關鍵字。例如,如果執行了 sp_reserve_http_namespace N'http://MyServer:80/sql',則在 CREATE ENDPOINT 陳述式中指定 SITE='MyServer'。- * (星號)
意味著接聽作業適用於未明確保留之電腦所有可能的主機名稱。
- + (加號)
意味著接聽作業適用於該電腦所有可能的主機名稱。
- webSite
這是該電腦的特定主機名稱。
- * (星號)
- [ CLEAR_PORT **=**clearPort ]
指定未用過的通訊埠編號。如果 PORTS = (CLEAR),這個 clearPort 會指定未用過的通訊埠編號。預設通訊埠編號是 80。
- [ SSL_PORT**=**SSLPort ]
指定 SSL 通訊埠編號。如果 PORTS = (SSL),SSLPort 會指定 SSL 通訊埠編號。預設 SSL 通訊埠編號是 443。
- [ AUTH_REALM = { 'realm' | NONE } ]
如果 AUTHENTICATION = DIGEST,會指定傳回用戶端的提示 (該用戶端就是將 SOAP 要求傳送至端點的用戶端) 作為 HTTP 驗證挑戰的一部分。預設值是 NONE。
- [ DEFAULT_LOGON_DOMAIN = { 'domain' | NONE } ]
如果 AUTHENTICATION = BASIC,會指定預設登入網域。預設值是 NONE。
- [ COMPRESSION = { ENABLED | DISABLED } ]
如果設為 ENABLED,SQL Server 會支援從中接受 gzip 編碼的要求,然後傳回壓縮的回應。換句話說,若要求送入時含有將 GZIP 指定為有效「接受編碼」的 HTTP 標頭,伺服器會傳回「gzip 已編碼」回應。預設值是 DISABLED。
TCP 通訊協定選項
下列引數只適用於 TCP 通訊協定選項。
- LISTENER_PORT **=**listenerPort
指定 Service Broker TCP/IP 通訊協定用來接聽連接時所用的通訊埠編號。依慣例會使用 4022,但介於 1024 和 32767 之間的任何數字都有效。
- LISTENER_IP = ALL | **(**4-part-ip ) | ( "ip_address_v6" )
指定端點將接聽的 IP 位址。預設值是 ALL。這表示接聽程式會接受與任何有效 IP 位址的連接。
SOAP 引數
以下是 SOAP 選項特定的引數。
[ WEBMETHOD [ 'namespace' .] 'method_alias' ]
指定方法,您可以針對該方法將 HTTP SOAP 要求傳送至端點。每個 WEBMETHOD 子句分別描述一個方法;不過,也可以針對端點公開多個方法。如果未指定 namespace,就假設是端點的命名空間。不需要任何方法,您就可以建立端點,之後再利用 ALTER ENDPOINT 將方法加入端點中。
重要事項: 如果您利用 WEBMETHOD 公開方法,您必須確定:當相同 HTTP 端點服務多個 SQL Server 資料庫時沒有重複的名稱。若要避免這種情況,請考慮在命名空間路徑中加入註冊網域名稱 URL。
- NAME ='database.schema.name'
指定對應到 WEBMETHOD 指定之 SOAP 方法的預存程序名稱或使用者自訂函數名稱。database**.schema.name 必須是符合識別碼規則的三部分名稱。如果 database.schema.**name 不存在,會傳回警告,但 DDL 作業仍會成功。
[ SCHEMA = { NONE | STANDARD | DEFAULT } ], (This option is for the WEBMETHOD clause.)
判斷是否會在 SOAP 回應中傳回目前 Web 方法的內嵌 XSD 結構描述。- NONE
不會針對透過 SOAP 所傳送的 SELECT 陳述式結果傳回 XSD 結構描述。
- STANDARD
針對透過 SOAP 所傳送的 SELECT 陳述式結果傳回 XSD 結構描述。
- DEFAULT
預設值是端點 SCHEMA 選項設定。
如果未指定結構描述,或這個選項設為 DEFAULT,則針對端點指定的 SCHEMA 選項會決定是否傳回方法結果的 SCHEMA。
若要取得使用 FOR XML 選項之 SELECT 查詢的結構描述,不論這裡的 SCHEMA 選項的設定為何,您都必須在查詢中指定 XMLSCHEMA 選項。
- NONE
[ FORMAT = { ALL_RESULTS | ROWSETS_ONLY | NONE } ]
指定是否要隨同結果集傳回資料列計數、錯誤訊息及警告。預設值是 ALL_RESULTS。- ALL_RESULTS
在 SOAP 回應中傳回結果集、資料列計數及錯誤訊息和警告。
ROWSETS_ONLY
只傳回結果集。如果您要傳回結果作為單一資料集 (System.Data.Dataset 物件),而不是作為物件陣列,請搭配使用 Visual Studio 2005 Web 服務 Proxy 類別產生器的用戶端應用程式,來使用這個選項。
NONE
抑制傳回伺服器回應中 SOAP 特定的標記。這個選項可當作支援特定應用程式的機制,該應用程式有一個預存程序,在該預存程序中,伺服器會在原始模式下依現狀傳回回應。當這個選項為有效時,應用程式會負責傳回格式正確的 XML。基於數種原因,這項功能可用來控制回應,例如,它可用來建立一個可以傳回 WS 原則的預存程序。以下是 FORMAT=NONE 選項的使用條件:
- 必須利用不含輸出參數的預存程序來實作方法。使用者自訂函數不能搭配這個回應格式使用。
查詢必須是單一陳述式 FOR XML 查詢 (多個 FOR XML 陳述式不能搭配這個回應格式使用);或者,輸出必須由具有名稱 XML_F52E2B61-18A1-11d1-B105-00805F49916B 且屬於類型 nvarchar 的單一資料行組成。
- 必須利用不含輸出參數的預存程序來實作方法。使用者自訂函數不能搭配這個回應格式使用。
- ALL_RESULTS
BATCHES = { ENABLED | DISABLED }
指定端點上是否支援特定 SQL 要求。預設值是 DISABLED。ENABLED 允許將使用 sqlbatch 方法之特定查詢的 SOAP 要求傳送至這個端點。
如果批次已啟用,便可呼叫 sql:sqlbatch 方法,在端點上執行特定 SQL 要求。這個方法也會公開參數化查詢功能;因此,它可以取得 SqlParameter 元素的選擇性清單,這些元素會描述指定查詢之參數的中繼資料和值。
以 @ 記號 (@) 為開頭的參數名稱可內嵌於查詢內。必須提供相符的參數名稱;否則就會針對要求傳回錯誤。
LOGIN_TYPE = { MIXED | WINDOWS }
指定端點的 SQL Server 驗證模式。如果未指定 LOGIN_TYPE,預設值是 WINDOWS。LOGIN_TYPE 只能用來進一步限制特定端點的驗證模式,這些端點是以安裝 SQL Server 的執行個體時選取的伺服器全域驗證模式為基礎的。
MIXED
允許利用 SQL Server 驗證或 Windows 驗證來驗證端點使用者。如果指定 MIXED,且伺服器是在 Windows 驗證模式下安裝的,就會傳回錯誤。
當設為 MIXED 時,端點上會支援 SQL Server 型驗證,且必須設定端點來使用安全通訊端層 (SSL) 通訊埠。
- WINDOWS
只允許利用 Windows 驗證來驗證端點使用者。
- WSDL = { NONE | DEFAULT | 'sp_name' }
指出是否可針對這個端點支援 WSDL 文件產生。如果是 NONE,則不會針對提交給端點的 WSDL 查詢產生或傳回 WSDL 回應。如果是 DEFAULT,就會針對提交給端點的 WSDL 查詢,產生及傳回預設 WSDL 回應。當您要針對端點實作自訂 WSDL 支援時,這是例外的情形,此時您也可以利用會傳回已修改之 WSDL 文件的名稱,以指定預存程序。
- [ SESSIONS = { ENABLED | DISABLED } ]
指定 SQL Server 的執行個體是否允許工作階段支援。如果設為 ENABLED,SQL Server 允許工作階段支援,透過這項支援,多重 SOAP 要求/回應訊息配對可被識別為單一 SOAP 工作階段的一部分。預設值是 DISABLED。
SESSION_TIMEOUT **=**timeoutInterval
指定時間 (以秒表示的整數值),該時間是指在未收到進一步的要求時,位於伺服器的 SOAP 工作階段到期前的可用時間。預設值是 60 秒。這個值會覆寫在 SOAP 工作階段標頭所指定的逾時值。逾時時間是在伺服器將 SOAP 回應訊息傳送至用戶端之後起始設定的。如果在發出其他 SOAP 要求 (此要求含有它的標頭中指定的相同工作階段識別碼) 之前就達到逾時,位於伺服器的工作階段就會終止。
- [ DATABASE = { 'database_name' | DEFAULT } ]
指定資料庫,要求的作業將在該資料庫的內容中執行。如果未指定 database_name,或是指定 DEFAULT,就會使用登入的預設資料庫。
- [ NAMESPACE = { 'namespace' | DEFAULT } ]
指定端點的命名空間。如果未指定 namespace,或是指定了 DEFAULT,則假設的命名空間是 http://tempuri.org。當您利用 WEBMETHOD **'namespace'**namespace 指定特定方法時,您可以覆寫預設命名空間。
[ SCHEMA = { NONE | STANDARD } ],
指定是否要在傳送 SOAP 結果時,由端點傳回 XSD 結構描述。- NONE
從 SOAP 回應中省略內嵌結構描述。
- STANDARD
將內嵌結構描述併入端點回應中。
附註: 若要在使用 Visual Studio 2005 時將 SOAP 結果載入 System.Data.DataSet 物件中,則需要內嵌結構描述;因此,必須指定 STANDARD。 - NONE
[CHARACTER_SET = { SQL | XML } ]
定義作業結果包含 XML 中無效的字元時之行為。預設值是 XML。- SQL
先將無效字元編碼成字元參考,再於結果中傳回這些字元。在此情況下,XML 剖析器可能會將傳回的 XML 視為無效而予以拒絕。
- XML
根據 XML 規格進行字元編碼。XML 字元集中不允許的任何字元都會導致 SQL Server 將無效 XML 的錯誤傳回用戶端。
- SQL
- HEADER_LIMIT
指定 SOAP Envelope 中之標頭區段的大小上限 (以位元組為單位)。如果 SOAP 標頭不適合這個大小,伺服器會產生剖析錯誤。若未指定,則假設是預設值 8 KB (8192 位元組)。
SERVICE_BROKER 和 DATABASE_MIRRORING 選項
下列 AUTHENTICATION 和 ENCRYPTION 引數由 SERVICE_BROKER 和 DATABASE_MIRRORING 選項共用。
附註: |
---|
有關 SERVICE_BROKER 特定的選項,請參閱本節稍後的「SERVICE_BROKER 選項」。有關 DATABASE_MIRRORING 特定的選項,請參閱本節稍後的「DATABASE_MIRRORING 選項」。 |
AUTHENTICATION = <authentication_options>
指定此端點連接的 TCP/IP 驗證需求。預設值是 WINDOWS。支援的驗證方法包括 NTLM 及 (或) Kerberos。如需有關這些方法的詳細資訊,請參閱<結束點驗證類型>。
重要事項: 伺服器執行個體中的所有鏡像連接全都使用單一資料庫鏡像端點。建立其他資料庫鏡像端點的任何嘗試都會失敗。 <authentication_options> ::=
WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ]
指定端點要利用 Windows 驗證通訊協定連接來驗證端點。這是預設值。如果您指定授權方法 (NTLM 或 KERBEROS),一律以該方法作為驗證通訊協定。預設值 NEGOTIATE 會導致端點利用 Windows 交涉通訊協定來選擇 NTLM 或 Kerberos。
- CERTIFICATE certificate_name
指定端點必須利用 certificate_name 所指定的憑證驗證連接,來建立授權的識別。遠端點必須有一個特定憑證,該憑證含有符合指定憑證之私密金鑰的公開金鑰。
- WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ] CERTIFICATE certificate_name
指定端點必須嘗試利用 Windows 驗證連接,而且,如果該嘗試失敗,則嘗試使用指定的憑證。
- CERTIFICATE certificate_name WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ]
指定端點必須嘗試利用指定的憑證連接,而且,如果該嘗試失敗,則嘗試使用 Windows 驗證。
ENCRYPTION = { DISABLED | SUPPORTED | REQUIRED } [ALGORITHM { RC4 | AES | AES RC4 | RC4 AES } ]
指定是否要在處理序中使用加密。預設值是 REQUIRED。- DISABLED
指定透過連接傳送的資料不加密。
- SUPPORTED
指定只有在相對端點指定為 SUPPORTED 或 REQUIRED 時才加密資料。
- REQUIRED
指定這個端點的連接必須使用加密。因此,若要連接這個端點,其他端點必須將 ENCRYPTION 設為 SUPPORTED 或 REQUIRED。
您也可以選擇性地利用 ALGORITHM 引數來指定端點使用的加密格式,如下所示:
- RC4
指定端點必須使用 RC4 演算法。這是預設值。
- AES
指定端點必須使用 AES 演算法。
- AES RC4
指定這兩個端點必須與這個偏好 AES 演算法的端點針對加密演算法進行交涉。
- RC4 AES
指定這兩個端點必須與這個偏好 RC4 演算法的端點針對加密演算法進行交涉。
附註: RC4 是相對的弱式演算法,而 AES 則是相對的強式演算法。但是 AES 的速度顯著較 RC4 的速度慢。如果您認為安全性比速度更重要,建議您使用 AES。 如果這兩個端點都指定了這兩種演算法 (但指定順序不同),則以接受連接的端點為準。
- DISABLED
SERVICE_BROKER 選項
以下是 SERVICE_BROKER 選項特定的引數。
MESSAGE_FORWARDING = { ENABLED | DISABLED }
判斷是否要轉送這個端點接收的訊息 (適用於位在其他位置的服務)。- ENABLED
如果已提供轉送位址,則會轉送訊息。
- DISABLED
捨棄適用於其他位置的服務之訊息。這是預設值。
- ENABLED
- MESSAGE_FORWARDING_SIZE **=**forward_size
指定當儲存即將要轉送的訊息時,配置給端點使用的最大儲存體數量 (以 MB 為單位)。
DATABASE_MIRRORING 選項
以下是 DATABASE_MIRRORING 選項特定的引數。
ROLE = { WITNESS | PARTNER | ALL }
指定端點支援的資料庫鏡像一或多個角色。WITNESS
使端點在鏡像處理序中能夠以見證角色來執行。附註: 如果是 SQL Server 2005 Express Edition,WITNESS 是唯一的可用選項。
- PARTNER
使端點在鏡像處理序中能夠以夥伴角色來執行。
- ALL
使端點在鏡像處理序中能夠同時以見證和夥伴角色來執行。
如需有關這些角色的詳細資訊,請參閱<資料庫鏡像概觀>。
附註: |
---|
如果是 DATABASE_MIRRORING,只有 TCP 可以當作傳輸通訊協定,HTTP 不可以。DATABASE_MIRRORING 沒有預設的通訊埠。 |
備註
ENDPOINT DDL 陳述式不能在使用者交易內執行。即使使用中的快照集隔離等級正在使用變更的端點,ENDPOINT DDL 陳述式也不會失敗。
可利用下列方式,針對 ENDPOINT 來執行要求:
- 系統管理員 (sysadmin) 固定伺服器角色的成員
- 端點的擁有者
- 已被授與端點之 CONNECT 權限的使用者或群組
權限
需要 CREATE ENDPOINT 權限或系統管理員 (sysadmin) 固定伺服器角色的成員資格。如需詳細資訊,請參閱<GRANT 端點權限 (Transact-SQL)>。
範例
A. 建立要用於 SOAP 要求的端點
下列範例利用 GetSqlInfo
和 DayAsNumber
這兩個方法建立一個稱為 sql_endpoint
的端點:這些方法可讓用戶端將 SOAP 要求傳送至端點。
就每個方法而言,FORMAT
選項的預設值都是 ALL_RESULTS
。因此,方法要求的 SOAP 回應會包含錯誤訊息、警告及資料列計數資訊。
請注意下列 SOAP 特定的設定:
SCHEMA
選項設為端點的STANDARD
。因此,依預設,SOAP 回應中會傳回內嵌結構描述。WSDL
選項設為DEFAULT
。因此,如果用戶端要求從這個端點 (https://Server/sql?wsdl) 送出的 WSDL 回應,伺服器就會產生 WSDL 回應,並將它傳回用戶端。
DROP ENDPOINT sql_endpoint;
GO
CREATE ENDPOINT sql_endpoint
STATE = STARTED
AS HTTP(
PATH = '/sql',
AUTHENTICATION = (INTEGRATED ),
PORTS = ( CLEAR ),
SITE = 'SERVER'
)
FOR SOAP (
WEBMETHOD 'GetSqlInfo'
(name='master.dbo.xp_msver',
SCHEMA=STANDARD ),
WEBMETHOD 'DayAsNumber'
(name='master.sys.fn_MSdayasnumber'),
WSDL = DEFAULT,
SCHEMA = STANDARD,
DATABASE = 'master',
NAMESPACE = 'http://tempUri.org/'
);
GO
您可以查詢目錄檢視,來尋找您先前建立之端點的相關資訊,如下列範例所示。您也可以對這些目錄檢視執行聯結作業,來取得您要的資料。
查詢 sys.endpoints
來擷取系統中的所有端點資訊。這包括名稱、端點識別碼、擁有端點之伺服器主體的識別碼,以及端點的其他屬性。
SELECT *
FROM sys.endpoints;
您可以查詢 sys.http_endpoints
來擷取有關 HTTP 的詳細端點資訊,例如:SITE、URL、AUTHENTICATION 機制及其他 HTTP 特定的資訊。
SELECT *
FROM sys.http_endpoints;
若要擷取有關端點的 SOAP 特定的資訊,請查詢 sys.soap_endpoints
。
SELECT *
FROM sys.soap_endpoints;
若要擷取端點上所定義的 SOAP 方法,請查詢 sys.endpoint_webmethods
。
SELECT *
FROM sys.endpoint_webmethods;
B. 建立資料庫鏡像端點
下列範例建立資料庫鏡像端點。該端點使用的是通訊埠編號 7022
(雖然任何可用通訊埠編號都適用)。該端點設定為只利用 Kerberos 來使用 Windows 驗證。ENCRYPTION
選項設定為非預設值 SUPPORTED
,來支援加密或未加密資料。該端點設定為同時支援夥伴和見證角色。
CREATE ENDPOINT endpoint_mirroring
STATE = STARTED
AS TCP ( LISTENER_PORT = 7022 )
FOR DATABASE_MIRRORING (
AUTHENTICATION = WINDOWS KERBEROS,
ENCRYPTION = SUPPORTED,
ROLE=ALL);
GO
請參閱
參考
ALTER ENDPOINT (Transact-SQL)
DROP ENDPOINT (Transact-SQL)
EVENTDATA (Transact-SQL)
其他資源
選擇加密演算法
設定伺服器接聽原生 XML Web Service 的要求
使用 WSDL
SOAP 要求與回應訊息結構
傳送原生 XML Web Service 要求的範例應用程式
原生 XML Web Service 中的指導方針和限制
XML 應用程式範例