(0) exportieren Drucken
Alle erweitern
Erweitern Minimieren

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

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen


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

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 überwacht der Server den Endpunktport nicht und beantwortet keine Anforderungsversuche zum Verwenden des Endpunktes.

STOPPED

Der Endpunkt wird beendet. In diesem Status überwacht der Server Portanforderungen, gibt jedoch Fehler an Clients zurück.

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.

Zurzeit sind keine <language_specific_arguments> für TSQL vorhanden.

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 im URL vorhanden sein, mit dem der Client HTTP SOAP-Anforderungen an eine Instanz von SQL Server sendet. Im URL http://ServerName/Sql ist z. B. ServerName der von SITE angegebene Hostcomputer und /Sql ist der 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, die vom Endpunkt überwacht wird. Der Standardwert ist ALL. Das bedeutet, dass die Überwachung lässt eine Verbindung an einer gültigen IP-Adresse zulässt.

SOAP-Argumente

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

[ 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.

ms181591.note(de-de,SQL.90).gifWichtig:
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 den 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-Webdienstes 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 diesem Feature 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-basierte Authentifizierung auf dem 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.

ms181591.note(de-de,SQL.90).gifHinweis:
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.

ms181591.note(de-de,SQL.90).gifHinweis:
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.

ms181591.note(de-de,SQL.90).gifWichtig:
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 Zertitifikats 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.

ms181591.note(de-de,SQL.90).gifHinweis:
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.

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_FORWARDING_SIZE = forward_size

Gibt an, wie viel Speicherplatz in MB maximal dem Endpunkt zum Speichern von weiterzuleitenden Nachrichten 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.

ms181591.note(de-de,SQL.90).gifHinweis:
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.

ms181591.note(de-de,SQL.90).gifHinweis:
Für DATABASE_MIRRORING kann nur TCP als Transportprotokoll verwendet werden, HTTP dagegen nicht. Für DATABASE_MIRRORING ist kein Standardport vorhanden.

ENDPOINT DDL-Anweisungen können nicht innerhalb einer Benutzertransaktion ausgeführt werden. ENDPOINT DDL-Anweisungen sind nicht fehlerhaft, selbst wenn eine aktive Snapshotisolationsstufen-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.

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

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 (http://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

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft