Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Erstellt Endpunkte und definiert deren Eigenschaften, einschließlich der für Clientanwendungen verfügbaren Methoden. Informationen zu verwandten Berechtigungen finden Sie unter GRANT-Endpunktberechtigungen.
Die Syntax kann CREATE ENDPOINT logisch in zwei Teile unterteilt werden:
Der erste Teil beginnt mit AS und endet vor der
FORKlausel.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.
Der zweite Teil beginnt mit der
FORKlausel.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.
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 | ( four_part_ipv4_address ) | ( 'ip_address_v6' ) ]
)
<FOR TSQL_language_specific_arguments> ::=
FOR TSQL (
[ ENCRYPTION = { NEGOTIATED | STRICT } ]
)
<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 { AES | RC4 | 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 { AES | RC4 | 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.
AUTORISIERUNGsanmeldung
Gibt einen gültigen SQL Server- oder Windows-Anmeldenamen an, dem der Besitz des neu erstellen Endpunktobjekts zugewiesen wird. Wenn AUTORISIERUNG nicht angegeben ist, wird der Aufrufer standardmäßig 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.
Die AUTHORIZATION Option ist in ALTER ENDPOINT. Besitz kann nur zugewiesen werden, wenn der Endpunkt erstellt wird.
Informationen zum erneuten Zuweisen des Besitzes finden Sie unter DROP ENDPOINT , und kehren Sie dann zu diesem Artikel zurück, um den Endpunkt neu zu erstellen.
STATE = { STARTED | BEENDET | DISABLED }
Der Status des Endpunkts, wenn er erstellt wird. Wenn der Zustand beim Erstellen des Endpunkts nicht angegeben ist, STOPPED ist die Standardeinstellung.
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.
ANGEHALTEN
Der Endpunkt wird beendet. In diesem Zustand lauscht der Server nicht auf den Endpunktport oder antwortet auf alle versuchten Anforderungen zur Verwendung des Endpunkts.
Um den Zustand zu ändern, verwenden Sie ALTER ENDPOINT.
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 5022 verwendet, aber jede Zahl zwischen 1024 und 32767 ist gültig.
LISTENER_IP = ALLE | (four_part_ipv4_address) | ( "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 anstelle der Erstellung von LISTENER_IP =IP_address Spiegelungsendpunkten angebenLISTENER_IP=ALL.
T-SQL-Optionen
VERSCHLÜSSELUNG = { AUSGEHANDELT | STRICT }
Gilt für: SQL Server 2022 (16.x) und höher
Gibt an, wie die Verschlüsselung im Prozess verwendet wird. Der Standardwert wird aus Kompatibilitätsgründen AUSGEHANDELT.
AUSGEHANDELT
Die Art und Weise, wie die Verbindung verschlüsselt wird, wird zwischen Server und Client ausgehandelt. Die tatsächliche hergestellte Verbindung konnte verschlüsseln:
- Nur LOGIN7-Nachricht.
- Alle Nachrichten mit Ausnahme von PRELOGIN.
- Alle Nachrichten.
STRENG
Gibt an, dass alle an diesen Endpunkt gesendeten Nachrichten verschlüsselt sein müssen und das Fallbackzertifikat vom Endpunkt nicht angezeigt wird. Wenn der TLS-Header nicht die erste Nachricht ist, wird die Verbindung vom Server unterbrochen.
Optionen für SERVICE_BROKER und DATABASE_MIRRORING
Die folgenden AUTHENTICATION Argumente und ENCRYPTION Argumente gelten für die und DATABASE_MIRRORING die SERVICE_BROKER Optionen.
Hinweis
Optionen, die spezifisch sind SERVICE_BROKER, finden Sie weiter unten in diesem Abschnitt unter SERVICE_BROKER Optionen . Optionen, die spezifisch sind DATABASE_MIRRORING, finden Sie weiter unten in diesem Abschnitt unter DATABASE_MIRRORING Optionen .
AUTHENTICATION = <authentication_options>
Gibt die TCP/IP-Authentifizierungsanforderungen für Verbindungen für diesen Endpunkt an. Standardwert: WINDOWS.
Zu den unterstützten Authentifizierungsmethoden gehören NTLM und/oder Kerberos.
Wichtig
Alle Spiegelungsverbindungen auf einer Serverinstanz verwenden einen gemeinsamen Datenbankspiegelungsendpunkt. Jeder Versuch, einen zusätzlichen Datenbankspiegelungsendpunkt zu erstellen, ist fehlerhaft.
WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ]
Gibt an, dass der Endpunkt mithilfe des Windows-Authentifizierungsprotokolls die Endpunkte authentifizieren soll. Dies ist die Standardoption.
Wenn Sie eine Autorisierungsmethode (NTLM oder KERBEROS) angeben, wird diese Methode immer als Authentifizierungsprotokoll verwendet. Der Standardwert bewirkt, NEGOTIATEdass der Endpunkt das Windows-Aushandlungsprotokoll verwendet, um NTLM oder Kerberos auszuwählen.
ZERTIFIKAT 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 } ] ZERTIFIKAT 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.
ZERTIFIKAT 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.
VERSCHLÜSSELUNG = { DISABLED | UNTERSTÜTZT | REQUIRED } [ ALGORITHMUS { AES | RC4 | AES RC4 | RC4 AES } ]
Gibt an, ob die Verschlüsselung für den Prozess verwendet wird. Der Standardwert lautet REQUIRED.
DISABLED
Gibt an, dass daten, die über eine Verbindung gesendet werden, nicht verschlüsselt sind.
SUPPORTED
Gibt an, dass die Daten nur verschlüsselt werden, wenn der entgegengesetzte Endpunkt entweder SUPPORTED oder REQUIRED.
REQUIRED
Gibt an, dass für Verbindungen mit diesem Endpunkt die Verschlüsselung verwendet werden muss. Um eine Verbindung mit diesem Endpunkt herzustellen, muss ENCRYPTION ein anderer Endpunkt entweder SUPPORTED oder REQUIREDauf .
Optional können Sie das ALGORITHM Argument verwenden, um die Vom Endpunkt verwendete Verschlüsselungsform wie folgt anzugeben:
AES (Advanced Encryption Standard)
Gibt an, dass der Endpunkt den AES-Algorithmus verwenden muss. Dies ist die Standardeinstellung in SQL Server 2016 (13.x) und höher.
RC4
Gibt an, dass der Endpunkt den RC4-Algorithmus verwenden muss. Dies ist die Standardeinstellung bis SQL Server 2014 (12.x).
Hinweis
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 (11.x) und höheren Versionen kann mit RC4 oder RC4_128 verschlüsseltes Material in jedem Kompatibilitätsgrad entschlüsselt werden.
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.
Hinweis
Der RC4-Algorithmus ist veraltet. Diese Funktion wird in einer zukünftigen Version von SQL Serverentfernt. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden. 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 sind spezifisch für die SERVICE_BROKER Option.
MESSAGE_FORWARDING = { ENABLED | DISABLED }
Bestimmt, ob von diesem Endpunkt empfangene Nachrichten für externe Dienste weitergeleitet werden.
ENABLED
Weiterleiten von Nachrichten, wenn eine Weiterleitungsadresse verfügbar ist.
DISABLED
Nachrichten für externe Dienste werden verworfen. Dies ist die Standardoption.
MESSAGE_FORWARD_SIZE = forward_size
Gibt an, wie viel Speicherplatz dem Endpunkt zum Speichern weiterzuleitender Nachrichten maximal in MB zugeordnet werden soll.
DATABASE_MIRRORING-Optionen
Das folgende Argument gilt nur für die Option DATABASE_MIRRORING.
ROLE = { ZEUGEN | 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.
Hinweis
Für SQL Server 2005 Express Edition WITNESS ist die einzige Option verfügbar.
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).
Hinweis
Für DATABASE_MIRRORING gibt es keinen Standardport.
Bemerkungen
ENDPOINT DDL Anweisungen können nicht innerhalb einer Benutzertransaktion ausgeführt werden.
ENDPOINT DDL Anweisungen schlagen nicht fehl, auch wenn eine aktive Transaktion auf Snapshotisolationsstufe den Endpunkt verwendet, der geändert wird.
Anforderungen können anhand ENDPOINT der folgenden Aktionen ausgeführt werden:
Mitglieder der festen Serverrolle sysadmin
Der Besitzer des Endpunktes.
Benutzer oder Gruppen, denen die Berechtigung für den Endpunkt erteilt
CONNECTwurde
Berechtigungen
Erfordert die CREATE ENDPOINT-Berechtigung oder die Mitgliedschaft in der festen SysAdmin-Serverrolle. Weitere Informationen finden Sie unter GRANT-Endpunktberechtigungen.
Beispiele
Erstellen eines Datenbankspiegelungsendpunkts
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
Erstellen eines neuen Endpunkts, der auf eine bestimmte IPv4-Adresse und einen bestimmten Port verweist
CREATE ENDPOINT ipv4_endpoint_special
STATE = STARTED
AS TCP (
LISTENER_PORT = 32766,
LISTENER_IP = (10.0.75.1)
)
FOR TSQL ();
-- Keep existing public permission on default endpoint for demo purpose
GRANT CONNECT ON ENDPOINT::[TSQL Default TCP] TO public;
GRANT CONNECT ON ENDPOINT::ipv4_endpoint_special TO login_name;
Erstellen eines neuen Endpunkts, der auf eine bestimmte IPv6-Adresse und einen bestimmten Port verweist
CREATE ENDPOINT ipv6_endpoint_special STATE = STARTED AS TCP (
LISTENER_PORT = 32766,
LISTENER_IP = ('::1')
)
FOR TSQL();
GRANT CONNECT ON ENDPOINT::[TSQL Default TCP] TO PUBLIC;
GRANT CONNECT ON ENDPOINT::ipv6_endpoint_special TO PUBLIC;
Erstellen eines neuen Endpunkts mit strenger Verschlüsselung
CREATE ENDPOINT [TDSSConnection]
STATE = STARTED
AS TCP (
LISTENER_PORT = 1433,
LISTENER_IP = ALL
)
FOR TSQL (
ENCRYPTION = STRICT
);
GO