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 oder HTTP) 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: SOAP, Transact-SQL, Service Broker und Datenbankspiegelung. Außerdem geben Sie hier sprachspezifische Informationen ein. Beispielsweise identifizieren Sie beim Verwenden von HTTP SOAP die Prozeduren, die im Endpunkt als Webmethoden verfügbar gemacht werden sollen. Für jede Webmethode identifizieren Sie eine entsprechende gespeicherte Prozedur von SQL Server oder eine benutzerdefinierte Funktion, der sie zugeordnet wird. Eine Clientanwendung kann dann HTTP SOAP-Anforderungen senden, die diese Methoden im Endpunkt aufrufen. Sie können auch zusätzliche SOAP-Konfigurationsinformationen bereitstellen, wie z. B. die folgenden:
Ob Ad-hoc-Abfrageanforderungen zulässig sind
Ob das XSD-Schema für das Resultset zurückgegeben werden soll
Den Datenbankkontext, in dem die angeforderten Methoden ausgeführt werden
Den Namespace für den Endpunkt
Vorgehensweise beim Behandeln von Zeichen im Ergebnis, die in XML ungültig sind
Hinweis |
---|
Systemeigene XML-Webdienste (SOAP/HTTP-Endpunkte) ist veraltet. Weitere Informationen finden Sie unter Systemeigene XML-Webdienste: In SQL Server 2008 als veraltet markiert. |
Syntax
CREATE ENDPOINT endPointName [ AUTHORIZATION login ]
[ STATE = { STARTED | STOPPED | DISABLED } ]
AS { HTTP | TCP } (
<protocol_specific_arguments>
)
FOR { SOAP | TSQL | SERVICE_BROKER | DATABASE_MIRRORING } (
<language_specific_arguments>
)<AS HTTP_protocol_specific_arguments> ::=
AS HTTP (
PATH = 'url', AUTHENTICATION = ( { BASIC | DIGEST | INTEGRATED | NTLM | KERBEROS } [ ,...n ] ), PORTS =( { CLEAR | SSL} [ ,... n ] )
[ SITE = {'*' | '+' | 'webSite' },]
[ [ , ] CLEAR_PORT =clearPort ]
[ [ , ] SSL_PORT =SSLPort ]
[ [ , ] 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(
[ { WEBMETHOD [ 'namespace'.] 'method_alias'( NAME ='database.schema.name'
[ [ , ] SCHEMA = { NONE | STANDARD | DEFAULT } ]
[ [ , ] FORMAT = { ALL_RESULTS | ROWSETS_ONLY | NONE } ]
)
} [ ,...n ] ]
[ [ , ] BATCHES = { ENABLED | DISABLED } ]
[ [ , ] WSDL = { NONE | DEFAULT | 'sp_name' } ]
[ [ , ] SESSIONS = { ENABLED | DISABLED } ]
[ [ , ] LOGIN_TYPE = { MIXED | WINDOWS } ]
[ [ , ] SESSION_TIMEOUT =timeoutInterval | NEVER ]
[ [ , ] 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 =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 auf dem Endpunktport und beantwortet keine Anforderungsversuche zum Verwenden des Endpunktes.
Verwenden Sie ALTER ENDPOINT (Transact-SQL), um den Status zu ändern.
AS { HTTP | TCP }
Gibt das zu verwendende Transportprotokoll an.FOR { SOAP | 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.
Systemeigene XML-Webdienste (SOAP/HTTP-Endpunkte) ist veraltet. Weitere Informationen finden Sie unter Systemeigene XML-Webdienste: In SQL Server 2008 als veraltet markiert.
HTTP-Option
Die folgenden Informationen gelten nur für die HTTP-Option.
PATH = 'url'
Gibt den URL-Pfad an, der den Speicherort des Endpunktes auf dem Hostcomputer identifiziert, der im SITE-Argument angegeben ist. PATH ist eine logische Partitionierung des URL-Namespaces, der von der Überwachung zum Routen von Anforderungen verwendet wird. PATH muss in der URL vorhanden sein, mit der der Client HTTP SOAP-Anforderungen an eine Instanz von SQL Server sendet. In der URL https://ServerName/Sql ist z. B. ServerName der von SITE angegebene Hostcomputer und /Sql ist die von PATH angegebene URL.AUTHENTICATION = ( { BASIC | DIGEST | NTLM | KERBEROS | INTEGRATED } [ ,...n ] )
Gibt den Authentifizierungstyp an, mit dem Benutzer authentifiziert wurden, die sich an einer Instanz von SQL Server anmelden. Sie können BASIC, DIGEST, NTLM, KERBEROS oder INTEGRATED bzw. eine Kombination dieser Werte getrennt durch Kommas (,) angeben. Weitere Informationen finden Sie unter Endpunktauthentifizierungs-Typen.PORTS**=(** { CLEAR | SSL} [ ,... n ] )
Gibt mindestens einen Überwachungsporttyp an, der dem Endpunkt zugeordnet ist. CLEAR und SSL können gleichzeitig angegeben werden. Wenn nur CLEAR angegeben wird, müssen die eingehenden Anforderungen HTTP verwenden. Wenn SSL angegeben wird, müssen die eingehenden Anforderungen Secure HTTP (https://) verwenden.[ SITE = { ' * ' | ' + ' | 'webSite' } ]
Gibt den Namen des Hostcomputers an. Wenn SITE nicht angegeben wird, wird als Standardwert das Sternchen verwendet. Falls sp_reserve_http_namespace ausgeführt wurde, übergeben Sie <hostpart> an das SITE-Schlüsselwort. Wurde beispielsweise sp_reserve_http_namespace N'http://MyServer:80/sql' ausgeführt, geben Sie SITE='MyServer' in der CREATE ENDPOINT-Anweisung an.* (Sternchen)
Impliziert, dass ein Überwachungsvorgang auf alle möglichen Hostnamen für den Computer zutrifft, die anderweitig nicht explizit reserviert sind.+ (Pluszeichen)
Impliziert, dass ein Überwachungsvorgang auf alle möglichen Hostnamen für den Computer zutrifft.webSite
Der Hostname für den Computer.
[ CLEAR_PORT **=**clearPort ]
Gibt die freie Portnummer an. Wenn PORTS = (CLEAR), gibt clearPort die freie Portnummer an. Die Standardportnummer ist 80.[ SSL_PORT**=**SSLPort ]
Gibt die SSL-Portnummer an. Wenn PORTS = (SSL), gibt SSLPort die SSL-Portnummer an. Die standardmäßige SSL-Portnummer ist 443.[ AUTH_REALM = { 'realm' | NONE } ]
Wenn AUTHENTICATION = DIGEST, wird hiermit der Hinweis angegeben, der an den Client zurückgegeben wird, der die SOAP-Anforderung im Rahmen der HTTP-Authentifizierungsherausforderung an den Endpunkt gesendet hat. Der Standardwert ist NONE.[ DEFAULT_LOGON_DOMAIN = { 'domain' | NONE } ]
Wenn AUTHENTICATION = BASIC, wird hiermit die Standardanmeldedomäne angegeben. Der Standardwert ist NONE.[ COMPRESSION = { ENABLED | DISABLED } ]
Mit ENABLED berücksichtigt SQL Server Anforderungen, bei denen die GZip-Codierung zulässig ist, und gibt komprimierte Antworten zurück. Wenn also eine Anforderung mit einem HTTP-Header empfangen wird, in dem GZIP als gültige "accept-encoding" angegeben ist, gibt der Server die Antwort GZip-codiert zurück. Der Standardwert ist DISABLED.
TCP-Option
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.
SOAP-Argumente
Die folgenden Argumente gelten nur für die SOAP-Option.
Hinweis |
---|
Systemeigene XML-Webdienste (SOAP/HTTP-Endpunkte) ist veraltet. Weitere Informationen finden Sie unter Systemeigene XML-Webdienste: In SQL Server 2008 als veraltet markiert. |
[ WEBMETHOD [ 'namespace' .] 'method_alias' ]
Gibt eine Methode an, für die Sie HTTP SOAP-Anforderungen an einen Endpunkt senden können. Jede WEBMETHOD-Klausel beschreibt eine Methode. Es können jedoch mehrere Methoden für den Endpunkt verfügbar gemacht werden. Wenn namespace nicht angegeben wird, wird der Namespace des Endpunktes verwendet.Sie können einen Endpunkt ohne Methoden erstellen und dann mit ALTER ENDPOINT Methoden hinzufügen.
Wichtig Wenn Sie mit WEBMETHOD Methoden verfügbar machen, müssen Sie sicherstellen, dass keine doppelten Namen vorhanden sind, falls mehrere SQL Server-Datenbanken vom selben HTTP-Endpunkt bedient werden. Um dies zu verhindern, sollten Sie die URL Ihres registrierten Domänennamens im Namespacepfad hinzufügen.
NAME ='database.schema.name'
Gibt den Namen einer gespeicherten Prozedur oder benutzerdefinierten Funktion an, die der in WEBMETHOD angegebenen SOAP-Methode entspricht. database**.schema.name muss ein dreiteiliger Name sein, der den Regeln für Bezeichner entspricht. Wenn database.schema.**name nicht vorhanden ist, wird eine Warnung zurückgegeben; der DDL-Vorgang wird jedoch erfolgreich ausgeführt.[ SCHEMA = { NONE | STANDARD | DEFAULT } ]
(Diese Option gilt für die WEBMETHOD-Klausel.) Bestimmt, ob ein XSD-Inlineschema für die aktuelle Webmethode in SOAP-Antworten zurückgegeben wird.NONE
Es wird kein XSD-Schema für über SOAP gesendete Ergebnisse einer SELECT-Anweisung zurückgegeben.STANDARD
Es wird ein XSD-Schema für über SOAP gesendete Ergebnisse einer SELECT-Anweisung zurückgegeben.DEFAULT
Standardmäßig wird die Option SCHEMA des Endpunktes verwendet.
Wenn kein Schema angegeben wird oder diese Option auf DEFAULT festgelegt wird, bestimmt die für den Endpunkt angegebene Option SCHEMA, ob das Schema für das Ergebnis der Methode zurückgegeben wird.
Um ein Schema für das Ergebnis einer SELECT-Abfrage abzurufen, die die Option FOR XML verwendet, müssen Sie die Option XMLSCHEMA in der Abfrage angeben, unabhängig von der Einstellung für die Option SCHEMA.
[ FORMAT = { ALL_RESULTS | ROWSETS_ONLY | NONE } ]
Gibt an, ob die Zeilenanzahl, Fehlermeldungen und Warnungen im Resultset zurückgegeben werden. Der Standardwert ist ALL_RESULTS.ALL_RESULTS
Gibt ein Resultset, die Zeilenanzahl, Fehlermeldungen und Warnungen in SOAP-Antworten zurück.ROWSETS_ONLY
Gibt nur die Resultsets zurück.Verwenden Sie diese Option für Clientanwendungen, die den Proxyklassen-Generator des Visual Studio 2005-Webdiensts verwenden, wenn die Ergebnisse nicht als Objektarray, sondern als einzelnes Dataset (System.Data.Dataset-Objekt) zurückgegeben werden sollen.
NONE
Unterdrückt das Zurückgeben SOAP-spezifischer Markups in der Serverantwort.Diese Option kann zur Unterstützung von Anwendungen verwendet werden, die eine gespeicherte Prozedur aufweisen, in der die Antwort vom Server unformatiert im Rohmodus zurückgegeben wird. Wenn diese Option aktiviert ist, ist die Anwendung für das Zurückgeben von wohlgeformtem XML zuständig. Mit dieser Funktion können Sie die Antwort aus mehreren Gründen kontrollieren. Beispielsweise könnte damit eine gespeicherte Prozedur erstellt werden, die eine WS-Richtlinie zurückgibt. Für die Option FORMAT=NONE sind die folgenden Bedingungen verfügbar:
Die Methode muss mit einer gespeicherten Prozedur ohne Ausgabeparameter implementiert werden. Benutzerdefinierte Funktionen sind für dieses Antwortformat nicht zulässig.
Die Abfrage muss entweder eine FOR XML-Abfrage mit einer einzelnen Anweisung sein (mehrere FOR XML-Anweisungen sind für dieses Antwortformat nicht zulässig), oder die Ausgabe muss aus einer einzelnen Spalte mit dem Namen XML_F52E2B61-18A1-11d1-B105-00805F49916B vom Datentyp nvarchar bestehen.
BATCHES = { ENABLED | DISABLED }
Gibt an, ob Ad-hoc-SQL-Anforderungen auf dem Endpunkt unterstützt werden. Der Standardwert ist DISABLED.Mit ENABLED sind SOAP-Anforderungen für Ad-hoc-Abfragen zulässig, die die sqlbatch-Methode zum Senden an diesen Endpunkt verwenden.
Wenn Batches aktiviert sind, können Ad-hoc-SQL-Anforderungen auf dem Endpunkt ausgeführt werden, indem die sql:sqlbatch-Methode aufgerufen wird. Diese Methode macht auch parametrisierte Abfragefunktionen verfügbar. Deshalb ist eine optionale Liste mit SqlParameter-Elementen möglich, die Metadaten und Werte für die Parameter der angegebenen Abfrage beschreiben.
In diese Abfrage können Parameternamen, die mit dem @-Zeichen beginnen, eingebettet sein. Übereinstimmende Parameternamen müssen bereitgestellt werden. Andernfalls wird für die Anforderung ein Fehler zurückgegeben.
LOGIN_TYPE = { MIXED | WINDOWS }
Gibt den SQL Server-Authentifizierungsmodus für den Endpunkt an. Wenn LOGIN_TYPE nicht angegeben ist, lautet der Standardwert WINDOWS.Mit LOGIN_TYPE kann nur der Authentifizierungsmodus für Endpunkte weiter eingeschränkt werden, die auf dem globalen Authentifizierungsmodus des Servers basieren, der beim Installieren der Instanz von SQL Server ausgewählt wurde.
MIXED
Ermöglicht die Verwendung der SQL Server-Authentifizierung oder der Windows-Authentifizierung zum Authentifizieren von Endpunktbenutzern.Wenn MIXED angegeben ist und der Server im Windows-Authentifizierungsmodus installiert wird, wird ein Fehler zurückgegeben.
Wenn MIXED festgelegt ist, wird die SQL Server-Authentifizierung für den Endpunkt unterstützt, und für den Endpunkt muss die Verwendung eines SSL-Ports (Secure Sockets Layer) konfiguriert sein.
WINDOWS
Ermöglicht nur die Verwendung der Windows-Authentifizierung zum Authentifizieren von Endpunktbenutzern.
WSDL = { NONE | DEFAULT | 'sp_name' }
Gibt an, ob die WSDL-Dokumentgenerierung für diesen Endpunkt unterstützt wird. Mit NONE wird keine WSDL-Antwort generiert oder für WSDL-Abfragen zurückgegeben, die an den Endpunkt gesendet werden. Mit DEFAULT wird eine WSDL-Standardantwort generiert und für WSDL-Abfragen zurückgegeben, die an den Endpunkt gesendet werden. In Ausnahmefällen, in denen Sie für den Endpunkt die benutzerdefinierte WSDL-Unterstützung implementieren, können Sie auch den Namen einer gespeicherten Prozedur angeben, die ein geändertes WSDL-Dokument zurückgibt.[ SESSIONS = { ENABLED | DISABLED } ]
Gibt an, ob die Instanz von SQL Server die Unterstützung von Sitzungen zulässt. Mit ENABLED lässt SQL Server die Unterstützung von Sitzungen zu, wobei mehrere SOAP-Anforderung/Antwort-Nachrichtenpaare als Teil einer einzigen SOAP-Sitzung identifiziert werden können. Der Standardwert ist DISABLED.SESSION_TIMEOUT **=**timeoutInterval
Gibt an, nach wie vielen Sekunden (ganze Zahl) eine SOAP-Sitzung auf dem Server abläuft, wenn keine weiteren Anforderungen empfangen werden. Der Standardwert ist 60 Sekunden. Damit wird der im SOAP-Sitzungsheader angegebene Timeoutwert außer Kraft gesetzt.Dies ist das Timeout, das initialisiert wird, wenn der Server das Senden einer SOAP-Antwortnachricht an den Client abschließt. Falls das Timeout vor einer anderen SOAP-Anforderung mit derselben Sitzungs-ID im Header abläuft, wird die Sitzung auf dem Server beendet.
[ DATABASE = { 'database_name' | DEFAULT } ]
Gibt die Datenbank an, in deren Kontext der angeforderte Vorgang ausgeführt wird. Wenn database_name nicht angegeben ist oder wenn DEFAULT angegeben ist, wird die Standarddatenbank für die Anmeldung verwendet.[ NAMESPACE = { 'namespace' | DEFAULT } ]
Gibt den Namespace für den Endpunkt an. Wenn namespace nicht angegeben ist oder wenn DEFAULT angegeben ist, wird http://tempuri.org als Namespace verwendet. Sie können den Standardnamespace überschreiben, wenn Sie eine bestimmte Methode angeben, indem Sie WEBMETHOD **'namespace'**namespace verwenden.[ SCHEMA = { NONE | STANDARD } ]
Gibt an, ob ein XSD-Schema vom Endpunkt zurückgegeben wird, wenn SOAP-Ergebnisse gesendet werden.NONE
Das Inlineschema wird in SOAP-Antworten ausgelassen.STANDARD
Das Inlineschema ist in Endpunktantworten eingeschlossen.
Hinweis Zum Laden von SOAP-Ergebnissen in System.Data.DataSet-Objekte sind beim Verwenden von Visual Studio 2005 Inlineschemas erforderlich. Deshalb muss STANDARD angegeben werden.
[CHARACTER_SET = { SQL | XML } ]
Definiert das Verhalten, wenn das Ergebnis eines Vorgangs Zeichen einschließt, die in XML ungültig sind. Der Standardwert ist XML.SQL
Codiert die Zeichen, die als Zeichenverweise ungültig sind, und gibt sie dann im Ergebnis zurück. In diesem Fall kann ein XML-Parser das zurückgegebene XML als ungültig ablehnen.XML
Codiert Zeichen gemäß der XML-Spezifikation. Für alle Zeichen, die nicht im XML-Zeichensatz zulässig sind, sendet SQL Server eine Fehlermeldung bezüglich ungültigen XML-Codes an den Client.
HEADER_LIMIT
Gibt die maximale Größe in Bytes des Headerabschnitts im SOAP-Umschlag an. Falls die SOAP-Header zu groß sind, generiert der Server einen Analysefehler. Wenn dieser Parameter nicht angegeben wird, wird ein Standardwert von 8 KB (8192 Bytes) verwendet.
Die Optionen SERVICE_BROKER und DATABASE_MIRRORING
Die folgenden AUTHENTICATION- und ENCRYPTION-Argumente werden von den Optionen SERVICE_BROKER und DATABASE_MIRRORING gemeinsam verwendet.
Hinweis |
---|
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. Weitere Informationen zu diesen Methoden finden Sie unter Endpunktauthentifizierungs-Typen.
Wichtig 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.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.
Hinweis 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.Hinweis 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 Übersicht über die Datenbankspiegelung.
Hinweis |
---|
Für DATABASE_MIRRORING kann nur TCP als Transportprotokoll verwendet werden, HTTP dagegen nicht. 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).
Beispiele
A. Erstellen eines Endpunktes zum Verwenden für SOAP-Anforderungen
Im folgenden Beispiel wird der Endpunkt sql_endpoint mit zwei Methoden erstellt: GetSqlInfo und DayAsNumber. Dies sind die Methoden, für die ein Client SOAP-Anforderungen an den Endpunkt senden kann.
Für jede Methode lautet für die Option FORMAT der Standardwert ALL_RESULTS. Deshalb enthält die SOAP-Antwort für die Methodenanforderung Fehlermeldungen, Warnungen und Informationen zur Zeilenanzahl.
Beachten Sie die folgenden SOAP-spezifischen Einstellungen:
Die SCHEMA-Option wird für den Endpunkt auf STANDARD festgelegt. Deshalb werden in SOAP-Antworten standardmäßig Inlineschemas zurückgegeben.
Die WSDL-Option wird auf DEFAULT festgelegt. Wenn deshalb ein Client eine WSDL-Antwort von diesem Endpunkt (https://Server/sql?wsdl) anfordert, generiert der Server eine WSDL-Antwort und gibt sie an den Client zurück.
DROP ENDPOINT sql_endpoint;
GO
CREATE ENDPOINT sql_endpoint
STATE = STARTED
AS HTTP(
PATH = '/sql',
AUTHENTICATION = (INTEGRATED ),
PORTS = ( CLEAR ),
SITE = 'SERVER'
)
FOR SOAP (
WEBMETHOD 'GetSqlInfo'
(name='master.dbo.xp_msver',
SCHEMA=STANDARD ),
WEBMETHOD 'DayAsNumber'
(name='master.sys.fn_MSdayasnumber'),
WSDL = DEFAULT,
SCHEMA = STANDARD,
DATABASE = 'master',
NAMESPACE = 'http://tempUri.org/'
);
GO
Sie können, wie in den folgenden Beispielen dargestellt, die Katalogsicht abfragen, um nach den Informationen zu dem von Ihnen erstellten Endpunkt zu suchen. Sie können diese Katalogsichten auch verknüpfen, um die gewünschten Daten zu erhalten.
Fragen Sie sys.endpoints ab, um alle Endpunktinformationen im System abzurufen. Hierzu zählen der Name, die ID des Endpunktes, die ID des Serverprinzipals, der der Besitzer des Endpunktes ist, sowie andere Eigenschaften des Endpunktes.
SELECT *
FROM sys.endpoints;
Sie können eine Abfrage von sys.http_endpoints ausführen, um weitere Endpunktinformationen zu HTTP abzurufen, wie z. B. SITE, URL, AUTHENTICATION und andere HTTP-spezifische Informationen.
SELECT *
FROM sys.http_endpoints;
Führen Sie eine Abfrage von sys.soap_endpoints aus, um SOAP-spezifische Informationen zum Endpunkt abzurufen.
SELECT *
FROM sys.soap_endpoints;
Führen Sie eine Abfrage von sys.endpoint_webmethods aus, um die SOAP-Methoden abzurufen, die im Endpunkt definiert sind.
SELECT *
FROM sys.endpoint_webmethods;
B. 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
C. Angeben eines Anschlusses
Wird ab Windows Server 2003 ein SOAP-Endpunkt auf einem Windows-Server erstellt, und wird die Kombination von Pfad (URL) und Anschluss von IIS benutzt, dann schlägt CREATE ENDPOINT fehl.
Unter Windows XP müssen Sie IIS möglicherweise beenden, damit die SOAP-Endpunkte funktionieren können.
CREATE ENDPOINT sql_endpoint
STATE = STARTED
AS HTTP
( PATH = '/sql',
AUTHENTICATION = (INTEGRATED ),
PORTS = ( CLEAR ),
SITE = 'SERVER',
CLEAR_PORT = 2000 )
FOR SOAP
( WEBMETHOD 'GetSqlInfo' (name='master.dbo.xp_msver', SCHEMA=STANDARD ),
WEBMETHOD 'DayAsNumber' (name='master.sys.fn_MSdayasnumber'),
WSDL = DEFAULT,
SCHEMA = STANDARD,
DATABASE = 'master',
NAMESPACE = 'http://tempUri.org/' );
Siehe auch