CREATE ENDPOINT (Transact-SQL)

Erstellt Endpunkte und definiert deren Eigenschaften, einschließlich der für Clientanwendungen verfügbaren Methoden. Informationen zu den entsprechenden Berechtigungen finden Sie unter GRANT (Endpunktberechtigungen) (Transact-SQL).

Die Syntax für CREATE ENDPOINT kann logisch in zwei Komponenten unterteilt werden:

  • Die erste Komponente beginnt mit AS und endet vor der FOR-Klausel.

    Hier geben Sie Informationen zum Transportprotokoll (TCP) an und legen eine Überwachungsportnummer für den Endpunkt fest sowie die Methode der Endpunktauthentifizierung und/oder eine Liste der IP-Adressen (sofern vorhanden), die vom Zugriff auf den Endpunkt ausgenommen werden sollen.

  • Die zweite Komponente beginnt mit der FOR-Klausel.

    Hier definieren Sie die Nutzlast, die auf dem Endpunkt unterstützt wird. Für die Nutzlast sind folgende unterstützte Typen möglich: Transact-SQL, Service Broker und Datenbankspiegelung. Außerdem geben Sie hier sprachspezifische Informationen ein.

HinweisHinweis

Systemeigene XML-Webdienste (SOAP-/HTTP-Endpunkte) wurden in SQL Server 2012 entfernt.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

Syntax

CREATE ENDPOINT endPointName [ AUTHORIZATION login ]
[ STATE = { STARTED | STOPPED | DISABLED } ]
AS { TCP } (
   <protocol_specific_arguments>
        )
FOR { TSQL | SERVICE_BROKER | DATABASE_MIRRORING } (
   <language_specific_arguments>
        ) 

<AS TCP_protocol_specific_arguments> ::=
AS TCP (
  LISTENER_PORT = listenerPort
  [ [ , ] LISTENER_IP = ALL | ( 4-part-ip ) | ( "ip_address_v6" ) ]

) 

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

Argumente

  • endPointName
    Der zugewiesene Name für den Endpunkt, den Sie erstellen. Verwenden Sie diesen Namen zum Aktualisieren oder Löschen des Endpunktes.

  • AUTHORIZATION login
    Gibt einen gültigen SQL Server- oder Windows-Anmeldenamen an, dem der Besitz des neu erstellen Endpunktobjekts zugewiesen wird. Falls AUTHORIZATION nicht angegeben ist, wird standardmäßig der Aufrufer zum Besitzer des neu erstellten Objekts.

    Zum Zuweisen des Besitzes mithilfe von AUTHORIZATION benötigt der Aufrufer die IMPERSONATE-Berechtigung für den angegebenen login-Parameter.

    Informationen zum erneuten Zuweisen des Besitzes finden Sie unter ALTER ENDPOINT (Transact-SQL).

  • STATE = { STARTED | STOPPED | DISABLED }
    Der Status des Endpunktes beim Erstellen. Falls der Status beim Erstellen des Endpunktes nicht angegeben wird, ist der Standardwert STOPPED.

    • STARTED
      Der Endpunkt wird gestartet und überwacht aktiv Verbindungen.

    • DISABLED
      Der Endpunkt ist deaktiviert. In diesem Status lauscht der Server nach Portanforderungen, gibt jedoch Fehler an Clients zurück.

    • STOPPED
      Der Endpunkt wird beendet. In diesem Status lauscht der Server nicht am Endpunktport und beantwortet keine Anforderungsversuche zum Verwenden des Endpunkts.

    Verwenden Sie ALTER ENDPOINT (Transact-SQL), um den Status zu ändern.

  • AS { TCP }
    Gibt das zu verwendende Transportprotokoll an.

  • FOR { TSQL | SERVICE_BROKER | DATABASE_MIRRORING }
    Gibt den Nutzlasttyp an.

    Aktuell gibt es keine Transact-SQL-sprachspezifischen Argumente, die im <language_specific_arguments>-Parameter übergeben werden.

TCP-Protokolloption

Die folgenden Argumente gelten nur für die TCP-Option.

  • LISTENER_PORT **=**listenerPort
    Gibt die Portnummer an, die für Verbindungen vom Service Broker-TCP/IP überwacht wird. Gemäß der Konvention wird 4022 verwendet, aber jede Zahl zwischen 1024 und 32767 ist gültig.

  • LISTENER_IP = ALL | **(**4-part-ip ) | ( "ip_address_v6" )
    Gibt die IP-Adresse an, auf der der Endpunkt lauscht. Der Standardwert ist ALL. Das bedeutet, dass die Überwachung lässt eine Verbindung an einer gültigen IP-Adresse zulässt.

    Wenn Sie die Datenbankspiegelung mit einer IP-Adresse anstelle eines vollqualifizierten Domänennamens (ALTER DATABASE SET PARTNER = partner_IP_address oder ALTER DATABASE SET WITNESS = witness_IP_address) konfigurieren, müssen Sie beim Erstellen von Spiegelungsendpunkten LISTENER_IP =IP_address anstelle von LISTENER_IP=ALL angeben.

Die Optionen SERVICE_BROKER und DATABASE_MIRRORING

Die folgenden AUTHENTICATION- und ENCRYPTION-Argumente werden von den Optionen SERVICE_BROKER und DATABASE_MIRRORING gemeinsam verwendet.

HinweisHinweis

Optionen, die für SERVICE_BROKER spezifisch sind, finden Sie im Abschnitt zu den Optionen für SERVICE_BROKER weiter unten. Optionen, die für DATABASE_MIRRORING spezifisch sind, finden Sie im Abschnitt zu den Optionen für DATABASE_MIRRORING weiter unten.

  • AUTHENTICATION = <authentication_options>
    Gibt die TCP/IP-Authentifizierungsanforderungen für Verbindungen für diesen Endpunkt an. Der Standardwert ist WINDOWS.

    Zu den unterstützten Authentifizierungsmethoden zählen NTLM und/oder Kerberos.

    Wichtiger HinweisWichtig

    Alle Spiegelungsverbindungen auf einer Serverinstanz verwenden einen gemeinsamen Datenbankspiegelungsendpunkt. Jeder Versuch, einen zusätzlichen Datenbankspiegelungsendpunkt zu erstellen, ist fehlerhaft.

    <authentication_options> ::=

    • WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ]
      Gibt an, dass der Endpunkt mithilfe des Windows-Authentifizierungsprotokolls die Endpunkte authentifizieren soll. Dies ist die Standardeinstellung.

      Wenn Sie eine Autorisierungsmethode angeben (NTLM oder KERBEROS), wird immer diese Methode als Authentifizierungsprotokoll verwendet. Mit dem Standardwert NEGOTIATE verwendet der Endpunkt das Windows-Aushandlungsprotokoll, um NTLM oder Kerberos auszuwählen.

    • CERTIFICATE certificate_name
      Gibt an, dass der Endpunkt die Verbindung mithilfe des von certificate_name angegebenen Zertifikats authentifizieren soll, um die Identität für die Autorisierung einzurichten. Der entfernte Endpunkt benötigt ein Zertifikat, dessen öffentlicher Schlüssel mit dem privaten Schlüssel des angegebenen Zertifikats übereinstimmt.

    • WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ] CERTIFICATE certificate_name
      Gibt an, dass der Endpunkt mithilfe der Windows-Authentifizierung eine Verbindung herstellen soll. Falls dies nicht möglich ist, soll das angegebene Zertifikat verwendet werden.

    • CERTIFICATE certificate_name WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ]
      Gibt an, dass der Endpunkt mithilfe des angegebenen Zertifikats eine Verbindung herstellen soll. Falls dies nicht möglich ist, soll die Windows-Authentifizierung verwendet werden.

  • ENCRYPTION = { DISABLED | SUPPORTED | REQUIRED } [ALGORITHM { RC4 | AES | AES RC4 | RC4 AES } ]
    Gibt an, ob die Verschlüsselung für den Prozess verwendet wird. Der Standardwert ist REQUIRED.

    • DISABLED
      Gibt an, dass über eine Verbindung gesendete Daten nicht verschlüsselt werden.

    • SUPPORTED
      Gibt an, dass die Daten nur verschlüsselt werden, wenn der gegenüberliegende Endpunkt SUPPORTED oder REQUIRED angibt.

    • REQUIRED
      Gibt an, dass für Verbindungen mit diesem Endpunkt die Verschlüsselung verwendet werden muss. Zum Herstellen einer Verbindung mit diesem Endpunkt muss deshalb für einen anderen Endpunkt ENCRYPTION auf SUPPORTED oder REQUIRED festgelegt sein.

    Optional können Sie mit dem ALGORITHM-Argument die Form der vom Endpunkt verwendeten Verschlüsselung folgendermaßen angeben:

    • RC4
      Gibt an, dass der Endpunkt den RC4-Algorithmus verwenden muss. Dies ist die Standardeinstellung.

      HinweisHinweis

      Der RC4-Algorithmus wird nur aus Gründen der Abwärtskompatibilität unterstützt. Neues Material kann nur mit RC4 oder RC4_128 verschlüsselt werden, wenn die Datenbank den Kompatibilitätsgrad 90 oder 100 besitzt. (Nicht empfohlen.) Verwenden Sie stattdessen einen neueren Algorithmus, z. B. einen der AES-Algorithmen. In SQL Server 2012 kann mit RC4 oder RC4_128 verschlüsseltes Material in jedem Kompatibilitätsgrad entschlüsselt werden.

    • AES
      Gibt an, dass der Endpunkt den AES-Algorithmus verwenden muss.

    • AES RC4
      Gibt an, dass die beiden Endpunkte einen Verschlüsselungsalgorithmus aushandeln, wobei dieser Endpunkt dem AES-Algorithmus den Vorzug gibt.

    • RC4 AES
      Gibt an, dass die beiden Endpunkte einen Verschlüsselungsalgorithmus aushandeln, wobei dieser Endpunkt dem RC4-Algorithmus den Vorzug gibt.

    HinweisHinweis

    Der RC4-Algorithmus ist veraltet. Diese Funktion wird in zukünftigen Versionen von Microsoft SQL Server nicht mehr bereitgestellt. Verwenden Sie diese Funktion beim Entwickeln neuer Anwendungen nicht, und planen Sie so bald wie möglich das Ändern von Anwendungen, in denen es zurzeit verwendet wird. Stattdessen wird die Verwendung von AES empfohlen.

    Wenn beide Endpunkte beide Algorithmen angeben, jedoch in unterschiedlicher Reihenfolge, gewinnt der Endpunkt, der die Verbindung annimmt.

Optionen für SERVICE_BROKER

Die folgenden Argumente gelten nur für die Option SERVICE_BROKER.

  • MESSAGE_FORWARDING = { ENABLED | DISABLED }
    Bestimmt, ob von diesem Endpunkt empfangene Nachrichten für externe Dienste weitergeleitet werden.

    • ENABLED
      Nachrichten werden weitergeleitet, falls eine Weiterleitungsadresse verfügbar ist.

    • DISABLED
      Nachrichten für externe Dienste werden verworfen. Dies ist die Standardeinstellung.

  • MESSAGE_FORWARD_SIZE **=**forward_size
    Gibt an, wie viel Speicherplatz dem Endpunkt zum Speichern weiterzuleitender Nachrichten maximal in MB zugeordnet werden soll.

Optionen für DATABASE_MIRRORING

Das folgende Argument gilt nur für die Option DATABASE_MIRRORING.

  • ROLE = { WITNESS | PARTNER | ALL }
    Gibt die Datenbank-Spiegelungsrollen an, die vom Endpunkt unterstützt werden.

    • WITNESS
      Ermöglicht es dem Endpunkt, die Rolle eines Zeugen beim Spiegelungsprozess einzunehmen.

      HinweisHinweis

      Für SQL Server 2005 Express Edition ist WITNESS die einzige verfügbare Option.

    • PARTNER
      Ermöglicht es dem Endpunkt, die Rolle eines Partners beim Spiegelungsprozess einzunehmen.

    • ALL
      Ermöglicht es dem Endpunkt, die Rolle eines Zeugen und eines Partners beim Spiegelungsprozess einzunehmen.

    Weitere Informationen zu diesen Rollen finden Sie unter Datenbankspiegelung (SQL Server).

HinweisHinweis

Für DATABASE_MIRRORING ist kein Standardport vorhanden.

Hinweise

ENDPOINT DDL-Anweisungen können nicht innerhalb einer Benutzertransaktion ausgeführt werden. ENDPOINT DDL-Anweisungen sind nicht fehlerhaft, selbst wenn eine aktive Momentaufnahmeisolationsstufen-Transaktion den Endpunkt verwendet, der geändert wird.

Folgende Personen können Anforderungen für ein ENDPOINT-Objekt ausführen:

  • Mitglieder der festen Serverrolle sysadmin.

  • Der Besitzer des Endpunktes.

  • Benutzer oder Gruppen, denen die CONNECT-Berechtigung für den Endpunkt erteilt wurde.

Berechtigungen

Erfordert die CREATE ENDPOINT-Berechtigung oder die Mitgliedschaft in der festen Serverrolle sysadmin. Weitere Informationen finden Sie unter GRANT (Endpunktberechtigungen) (Transact-SQL).

Beispiel

Erstellen eines Endpunktes für die Datenbankspiegelung

Im folgenden Beispiel wird ein Endpunkt für die Datenbankspiegelung erstellt. Der Endpunkt verwendet die Portnummer 7022, wobei jede verfügbare Portnummer verwendet werden könnte. Für den Endpunkt ist die Windows-Authentifizierung nur mit Kerberos konfiguriert. Für die Option ENCRYPTION ist der Wert SUPPORTED konfiguriert (dies entspricht nicht dem Standardwert), um verschlüsselte oder unverschlüsselte Daten zu unterstützen. Für den Endpunkt wird die Unterstützung der Partner- und Zeugenrollen konfiguriert.

CREATE ENDPOINT endpoint_mirroring
    STATE = STARTED
    AS TCP ( LISTENER_PORT = 7022 )
    FOR DATABASE_MIRRORING (
       AUTHENTICATION = WINDOWS KERBEROS,
       ENCRYPTION = SUPPORTED,
       ROLE=ALL);
GO

Siehe auch

Verweis

ALTER ENDPOINT (Transact-SQL)

DROP ENDPOINT (Transact-SQL)

EVENTDATA (Transact-SQL)

Konzepte

Auswählen eines Verschlüsselungsalgorithmus