ALTER ENDPOINT (Transact-SQL)

以下列方法修改現有端點:

  • 在現有端點加入新的方法。

  • 從端點修改或卸除現有的方法。

  • 變更端點的屬性。

[!附註]

這個主題描述 ALTER ENDPOINT 特定的語法和引數。如需 CREATE ENDPOINT 和 ALTER ENDPOINT 通用之引數的描述,請參閱<CREATE ENDPOINT (Transact-SQL)>。

在 SQL Server 2008 中,原生 XML Web Service (SOAP/HTTP 端點) 已被取代。如需詳細資訊,請參閱<原生 XML Web 服務:在 SQL Server 2008 中已被取代>。

主題連結圖示Transact-SQL 語法慣例

語法

ALTER ENDPOINT endPointName
[ 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 來變更傳輸通訊協定。

  • AUTHORIZATION login
    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='AdventureWorks.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)
);

變更記錄

更新的內容

已更新「引數」一節來指示不允許的其他作業。