ALTER ENDPOINT (Transact-SQL)

Ermöglicht das Ändern eines vorhandenen Endpunktes auf die folgenden Arten:

  • Durch Hinzufügen einer neuen Methode zu einem vorhandenen Endpunkt.

  • Durch Ändern oder Löschen einer vorhandenen Methode aus dem Endpunkt.

  • Durch Ändern der Eigenschaften eines Endpunkts.

HinweisHinweis

In diesem Abschnitt werden die Syntax und die Argumente beschrieben, die für ALTER ENDPOINT spezifisch sind. Beschreibungen der Argumente, die sowohl CREATE ENDPOINT als auch ALTER ENDPOINT gemeinsam sind, finden Sie unter CREATE ENDPOINT (Transact-SQL).

In SQL Server 2008 sind Systemeigene XML-Webdienste (SOAP-/HTTP-Endpunkte) als veraltet markiert. Weitere Informationen finden Sie unter Systemeigene XML-Webdienste: In SQL Server 2008 als veraltet markiert.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

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 }
)

Argumente

HinweisHinweis

Die folgenden Argumente gelten nur für ALTER ENDPOINT. Beschreibungen der restlichen Argumente finden Sie unter CREATE ENDPOINT (Transact-SQL).

  • ADD WEBMETHOD
    Fügt einen neuen Methodenendpunkt hinzu.

    Wichtiger HinweisWichtig

    Wenn Sie ADD WEBMETHOD zum Verfügbarmachen von Methoden verwenden, müssen Sie sicherstellen, dass keine Namensüberschneidungen auftreten, wenn mehrere SQL Server-Datenbanken von demselben HTTP-Endpunkt bedient werden. Um dies zu verhindern, sollten Sie die URL Ihres registrierten Domänennamens im Namespacepfad hinzufügen.

  • ALTER WEBMETHOD
    Ändert die Definition eines vorhandenen Methodenendpunktes.

  • AS { TCP | HTTP }
    Sie können das Transportprotokoll mit ALTER ENDPOINT nicht ändern.

  • AUTHORIZATION login
    Die AUTHORIZATION-Option ist in ALTER ENDPOINT nicht verfügbar. Besitz kann nur zugewiesen werden, wenn der Endpunkt erstellt wird.

  • DROP WEBMETHOD
    Löscht einen vorhandenen Methodenendpunkt.

  • FOR { SOAP | TSQL | SERVICE_BROKER | DATABASE_MIRRORING }
    Sie können den Nutzlasttyp mit ALTER ENDPOINT nicht ändern.

Hinweise

Geben Sie bei Verwendung von ALTER ENDPOINT nur die zu aktualisierenden Parameter an. Alle Eigenschaften eines vorhandenen Endpunktes bleiben unverändert, es sei denn, Sie ändern diese explizit.

ENDPOINT DDL-Anweisungen können nicht innerhalb einer Benutzertransaktion ausgeführt werden.

Weitere Informationen zum Auswählen eines Verschlüsselungsalgorithmus zur Verwendung mit einem Endpunkt finden Sie unter Auswählen eines Verschlüsselungsalgorithmus.

HinweisHinweis

RC4 ist ein relativ schwacher Algorithmus, und AES ist ein relativ starker Algorithmus. AES ist jedoch deutlich langsamer als RC4. Wenn Sicherheit für Sie eine höhere Priorität besitzt als Geschwindigkeit, ist es empfehlenswert, AES zu verwenden.

Berechtigungen

Der Benutzer muss ein Mitglied der festen Serverrolle sysadmin sein, er muss der Besitzer des Endpunktes sein, oder ihm muss die ALTER ANY ENDPOINT-Berechtigung erteilt worden sein.

Sie können den Besitz für einen vorhandenen Endpunkt ändern, indem Sie die ALTER AUTHORIZATION-Anweisung verwenden. Weitere Informationen finden Sie unter ALTER AUTHORIZATION (Transact-SQL).

Weitere Informationen finden Sie unter GRANT (Endpunktberechtigungen) (Transact-SQL).

Beispiele

A. Hinzufügen einer neuen Methode zu einem vorhandenen Endpunkt

Im folgenden Beispiel wird eine neue Methode dem zuvor erstellten Endpunkt sql_endpoint hinzugefügt.

ALTER ENDPOINT sql_endpoint
FOR SOAP
(
  ADD WEBMETHOD 'SayHello' (name='AdventureWorks.dbo.SayHello')
);

B. Hinzufügen einer neuen Methode, die im RAW SOAP-Modus ausgeführt wird

Im folgenden Beispiel wird eine neue Webmethode ReportUsageStats hinzugefügt, die im mit FORMAT=NONE angegebenen RAW-Modus ausgeführt wird, um Ergebnisse einer gespeicherten Prozedur unverändert an SOAP-Clients zu übermitteln. Weitere Informationen finden Sie in der Beschreibung der FORMAT-Option unter CREATE ENDPOINT (Transact-SQL).

ALTER ENDPOINT sql_endpoint
FOR SOAP
(
  ADD WEBMETHOD 'ReportUsageStats' (name='myDatabase.dbo.sp_reportserverstats', FORMAT=NONE)
);

Änderungsverlauf

Aktualisierter Inhalt

Der Abschnitt "Argumente" wurde um zusätzliche Vorgänge erweitert, die nicht zulässig sind.