ALTER ENDPOINT (Transact-SQL)
以下列方法修改現有端點:
在現有端點加入新的方法。
從端點修改或卸除現有的方法。
變更端點的屬性。
[!附註]
這個主題描述 ALTER ENDPOINT 特定的語法和引數。如需 CREATE ENDPOINT 和 ALTER ENDPOINT 通用之引數的描述,請參閱<CREATE ENDPOINT (Transact-SQL)>。
原生 XML Web 服務 (SOAP/HTTP 端點) 已被取代。如需詳細資訊,請參閱<原生 XML Web 服務:在 SQL Server 2008 中已被取代>。
語法
ALTER ENDPOINT endPointName [ AUTHORIZATION login ]
[ STATE = { STARTED | STOPPED | DISABLED } ]
[ AS { TCP | HTTP } ( <protocol_specific_items> ) ]
[ FOR { SOAP | TSQL | SERVICE_BROKER | DATABASE_MIRRORING } (
<language_specific_items>
) ]
<AS HTTP_protocol_specific_arguments> ::=
AS HTTP (
[ [ , ] PATH = 'url' ]
[ [ , ] PORTS = ( { CLEAR | SSL } [ ,...n ] ) ]
[ [ , ] SITE = { '*' | '+' | 'webSite' } , ]
[ [ , ] CLEAR_PORT = clearPort ]
[ [ , ] SSL_PORT = SSLPort ]
[ [,] AUTHENTICATION = ( { BASIC | DIGEST | NTLM | KERBEROS | INTEGRATED } [ ,...n ] ) ]
[ [ , ] 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 (
[ { ADD WEBMETHOD [ 'namespace' .] 'method_alias'
( NAME = 'database.owner.name'
[ , SCHEMA = {NONE | STANDARD | DEFAULT } ]
[ , FORMAT = { ALL_RESULTS | ROWSETS_ONLY | NONE} ]
)
} [ ,...n ]
]
[ { ALTER WEBMETHOD [ 'namespace' .] 'method_alias'
( NAME = 'database.owner.name'
[ , SCHEMA = {NONE | STANDARD | DEFAULT} ]
[ , FORMAT = { ALL_RESULTS | ROWSETS_ONLY } ]
)
} [ ,...n]
]
[ [ , ] { DROP WEBMETHOD [ 'namespace' .] 'method_alias' } [ ,...n ] ]
[ [ , ] BATCHES = { ENABLED | DISABLED } ]
[ [ , ] WSDL = { NONE | DEFAULT | 'sp_name' } ]
[ [ , ] SESSIONS = { ENABLED | DISABLED } ]
[ [ , ] LOGIN_TYPE = { MIXED | WINDOWS } ]
[ [ , ] SESSION_TIMEOUT = timeoutInterval ]
[ [ , ] 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 = forwardSize
)
<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 }
)
引數
[!附註]
以下是 ALTER ENDPOINT 特定的引數。如需其餘引數的描述,請參閱<CREATE ENDPOINT (Transact-SQL)>。
ADD WEBMETHOD
加入新的方法端點。重要事項 當您使用 ADD WEBMETHOD 公開方法時,必須確定即使同一個 HTTP 端點服務一個以上的 SQL Server 資料庫時,名稱也不會重複。若要避免這種情況,請考慮在命名空間路徑中加入註冊網域名稱 URL。
ALTER WEBMETHOD
變更現有方法端點的定義。AS { TCP | HTTP }
您無法使用 ALTER ENDPOINT 來變更傳輸通訊協定。AUTHORIZATIONlogin
ALTER ENDPOINT 沒有提供 AUTHORIZATION 選項。只有在建立端點時,才可指派擁有權。DROP WEBMETHOD
卸除現有的方法端點。FOR { SOAP | TSQL | SERVICE_BROKER | DATABASE_MIRRORING }
您無法使用 ALTER ENDPOINT 來變更裝載類型。
備註
當您使用 ALTER ENDPOINT 時,只要指定您要更新的參數即可。現有端點的所有屬性,都將保持不變,除非您明確變更它們。
ENDPOINT DDL 陳述式不能在使用者交易內執行。
如需有關選擇加密演算法以用於端點的資訊,請參閱<選擇加密演算法>)。
[!附註]
RC4 是相對的弱式演算法,而 AES 則是相對的強式演算法。但是 AES 的速度顯著較 RC4 的速度慢。如果您認為安全性比速度更重要,建議您使用 AES。
權限
使用者必須是系統管理員 (sysadmin) 固定伺服器角色的成員、端點擁有者,或者已被授與 ALTER ANY ENDPOINT 權限。
若要變更現有端點的擁有權,必須使用 ALTER AUTHORIZATION 陳述式。如需詳細資訊,請參閱<ALTER AUTHORIZATION (Transact-SQL)>。
如需詳細資訊,請參閱<GRANT 端點權限 (Transact-SQL)>。
範例
A. 將新的方法加入至現有端點中
下列範例會在先前建立的端點 sql_endpoint 加入新的方法。
ALTER ENDPOINT sql_endpoint
FOR SOAP
(
ADD WEBMETHOD 'SayHello' (name='AdventureWorks2008R2.dbo.SayHello')
);
B. 加入以 RAW SOAP 模式運作的新方法
下列範例會加入以 RAW 模式運作的新 Web 方法 ReportUsageStats (由 FORMAT=NONE 指定),將預存程序的結果「依現狀」傳遞給 SOAP 用戶端。如需詳細資訊,請參閱<CREATE ENDPOINT (Transact-SQL)>中的 FORMAT 選項描述。
ALTER ENDPOINT sql_endpoint
FOR SOAP
(
ADD WEBMETHOD 'ReportUsageStats' (name='myDatabase.dbo.sp_reportserverstats', FORMAT=NONE)
);