Freigeben über


Erstellen eines Endpunkts der Datenbankspiegelung für Windows-Authentifizierung (Transact-SQL)

In diesem Thema wird beschrieben, wie ein Datenbankspiegelungs-Endpunkt in SQL Server 2012 mit Transact-SQL erstellt wird, der die Windows-Authentifizierung verwendet. Um die Datenbankspiegelung oder AlwaysOn-Verfügbarkeitsgruppen unterstützen zu können, benötigt jede Instanz von SQL Server einen Datenspiegelungs-Endpunkt. Eine Serverinstanz kann nur über einen Datenbankspiegelungsendpunkt verfügen, der einen einzelnen Port besitzt. Ein Datenbankspiegelungsendpunkt kann einen beliebigen Port verwenden, der auf dem lokalen System verfügbar ist, wenn der Endpunkt erstellt wird. Alle Datenbankspiegelungssitzungen auf einer Serverinstanz lauschen an diesem Port, und alle eingehenden Verbindungen für die Datenbankspiegelung verwenden diesen Port.

Wichtiger HinweisWichtig

Wenn ein Datenbankspiegelungs-Endpunkt vorhanden und bereits in Gebrauch ist, empfiehlt es sich, diesen Endpunkt zu verwenden. Wenn ein in Gebrauch befindlicher Endpunkt gelöscht wird, kann dies zu Störungen bei vorhandenen Sitzungen führen.

In diesem Thema

  • Vorbereitungen: Sicherheit

  • Erstellen eines Datenbankspiegelungs-Endpunkts mit  Transact-SQL

Vorbereitungen

Sicherheit

Die Authentifizierungs- und Verschlüsselungsmethoden der Serverinstanz werden vom Systemadministrator festgelegt.

SicherheitshinweisSicherheitshinweis

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.

Berechtigungen

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

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Nach oben]

Verwenden von Transact-SQL

So erstellen Sie einen Datenbankspiegelungs-Endpunkt, der die Windows-Authentifizierung verwendet

  1. Stellen Sie eine Verbindung mit der Instanz von SQL Server her, für die Sie einen Endpunkt für die Datenbankspiegelung erstellen möchten.

  2. Klicken Sie auf der Standardleiste auf Neue Abfrage.

  3. Ermitteln Sie mithilfe der folgenden Anweisung, ob ein Endpunkt für die Datenbankspiegelung bereits vorhanden ist:

    SELECT name, role_desc, state_desc FROM sys.database_mirroring_endpoints 
    
    Wichtiger HinweisWichtig

    Falls bereits ein Endpunkt der Datenbankspiegelung für die Serverinstanz vorhanden ist, verwenden Sie diesen Endpunkt für alle anderen Sitzungen, die Sie für die Serverinstanz einrichten.

  4. Wenn Sie Transact-SQL zum Erstellen eines Endpunktes verwenden möchten, der mit Windows-Authentifizierung verwendet werden soll, verwenden Sie eine CREATE ENDPOINT-Anweisung. Die Anweisung weist folgende allgemeine Form auf:

    CREATE ENDPOINT <endpointName>

        STATE=STARTED

        AS TCP ( LISTENER_PORT = <listenerPortList> )

        FOR DATABASE_MIRRORING

        (

            [ AUTHENTICATION = WINDOWS [ <authorizationMethod> ]

            ]

            [ [,] ENCRYPTION = REQUIRED

                    [ ALGORITHM { <algorithm> } ]

            ]

            [,] ROLE = <role>

        )

    Dabei gilt:

    • <endpointName> ist der eindeutige Name für den Endpunkt der Datenbankspiegelung der Serverinstanz.

    • STARTED gibt an, dass der Endpunkt gestartet werden und mit der Überwachung auf Verbindungen beginnen soll. Ein Endpunkt der Datenbankspiegelung wird in der Regel im Status STARTED erstellt. Alternativ können Sie eine Sitzung in einem Status STOPPED (die Standardeinstellung) oder DISABLED erstellen.

    • <listenerPortList> ist eine einzelne Portnummer (nnnn), die der Server auf Datenbankspiegelungsnachrichten hin überwachen soll. Nur TCP ist zulässig; wenn Sie ein anderes Protokoll angeben, wird ein Fehler ausgelöst.

      Eine Portnummer kann in einem Computersystem nur einmal verwendet werden. Ein Datenbankspiegelungsendpunkt kann einen beliebigen Port verwenden, der auf dem lokalen System verfügbar ist, wenn der Endpunkt erstellt wird. Verwenden Sie die folgende Transact-SQL-Anweisung, um den Port anzugeben, der zurzeit von TCP-Endpunkten im System verwendet wird:

      SELECT name, port FROM sys.tcp_endpoints
      
      Wichtiger HinweisWichtig

      Für jede Serverinstanz ist ein und nur ein eindeutiger Überwachungsport erforderlich.

    • Bei der Windows-Authentifizierung ist die AUTHENTICATION-Option optional, es sei denn, der Endpunkt soll nur NTLM oder Kerberos zum Authentifzieren von Verbindungen verwenden. <authorizationMethod> gibt die Methode zum Authentifizieren von Verbindungen an, entweder NTLM, KERBEROS oder NEGOTIATE. Die Standardeinstellung, NEGOTIATE, bewirkt, dass der Endpunkt das Aushandlungsprotokoll von Windows verwendet, um NTLM oder Kerberos auszuwählen. Die Verbindungsverhandlung ermöglicht abhängig von der Authentifizierungsebene des gegenüberliegenden Endpunktes Verbindungen mit oder ohne Authentifizierung.

    • ENCRYPTION wird standardmäßig auf REQUIRED festgelegt. Dies bedeutet, dass alle Verbindungen mit diesem Endpunkt Verschlüsselungen verwenden müssen. Sie können die Verschlüsselung jedoch auch deaktivieren oder als optional für einen Endpunkt festlegen. Die Alternativen lauten folgendermaßen:

      Wert

      Definition

      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 entweder SUPPORTED oder REQUIRED angibt.

      REQUIRED

      Gibt an, dass über eine Verbindung gesendete Daten verschlüsselt werden müssen.

      Wenn ein Endpunkt Verschlüsselung erfordert, muss für den anderen Endpunkt ENCRYPTION auf SUPPORTED oder REQUIRED festgelegt werden.

    • <algorithm> stellt die Option zum Angeben der Verschlüsselungsstandards für den Endpunkt bereit. Der Wert <algorithm> kann einer der folgenden Algorithmen oder eine Kombination von Algorithmen sein: RC4, AES, AES RC4 oder RC4 AES.

      AES RC4 gibt an, dass dieser Endpunkt den Verschlüsselungsalgorithmus verhandelt, wobei der AES-Algorithmus bevorzugt wird. RC4 AES gibt an, dass dieser Endpunkt den Verschlüsselungsalgorithmus verhandelt, wobei der RC4-Algorithmus bevorzugt wird. Wenn beide Endpunkte beide Algorithmen angeben, jedoch in unterschiedlicher Reihenfolge, gewinnt der Endpunkt, der die Verbindung annimmt.

      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.

    • <role> definiert die Rolle bzw. Rollen, die der Server ausführen kann. Die Angabe von ROLE ist erforderlich. Die Rolle des Endpunkts ist jedoch nur für die Datenbankspiegelung relevant. Für AlwaysOn-Verfügbarkeitsgruppen wird die Rolle des Endpunkts ignoriert.

      Damit eine Serverinstanz als eine Rolle für eine Datenbankspiegelungssitzung und eine andere Rolle für eine andere Sitzung fungieren kann, geben Sie ROLE=ALL an. Wenn Sie eine Serverinstanz auf die Partner- oder Zeugenrolle beschränken möchten, geben Sie ROLE=PARTNER bzw. ROLE=WITNESS an.

      HinweisHinweis

      Weitere Informationen zu den Datenbank-Spiegelungsoptionen für die verschiedenen Editionen von SQL Server finden Sie unter Von den SQL Server 2012-Editionen unterstützte Funktionen (https://go.microsoft.com/fwlink/?linkid=232473).

    Eine vollständige Beschreibung der CREATE ENDPOINT-Syntax finden Sie unter CREATE ENDPOINT (Transact-SQL).

    HinweisHinweis

    Verwenden Sie ALTER ENDPOINT (Transact-SQL), um einen vorhandenen Endpunkt zu ändern.

Beispiel: Erstellen von Endpunkten mit Unterstützung der Datenbankspiegelung (Transact-SQL)

Im folgenden Beispiel werden Datenbankspiegelungs-Endpunkte für die Standardserverinstanzen auf drei separaten Computersystemen erstellt:

Rolle der Serverinstanz

Name des Hostcomputers

Partner (anfangs die Prinzipalrolle)

SQLHOST01\.

Partner (anfangs die Spiegelrolle)

SQLHOST02\.

Zeuge

SQLHOST03\.

In diesem Beispiel verwenden alle drei Endpunkte die Portnummer 7022, wobei jede verfügbare Portnummer möglich wäre. Die Option AUTHENTICATION ist unnötig, da die Endpunkte den Standardtyp, also die Windows-Authentifizierung verwenden. Die Option ENCRYPTION ist ebenfalls überflüssig, da alle Endpunkte das Authentifizierungsverfahren für eine Verbindung aushandeln sollen, was bei der Windows-Authentifizierung das Standardverhalten darstellt. Außerdem erfordern alle Endpunkte die Verschlüsselung, was ebenfalls zum Standardverhalten gehört.

Jede Serverinstanz ist darauf beschränkt, entweder als Partner oder als Zeuge zu agieren, und der Endpunkt jedes Servers legt die Rolle ausdrücklich fest (ROLE=PARTNER oder ROLE=WITNESS).

Wichtiger HinweisWichtig

Jede Serverinstanz kann nur einen Endpunkt besitzen. Wenn Sie daher wollen, dass eine Serverinstanz in einigen Sitzungen als Partner und in anderen als Zeuge agiert, müssen Sie ROLE=ALL festlegen.

--Endpoint for initial principal server instance, which
--is the only server instance running on SQLHOST01.
CREATE ENDPOINT endpoint_mirroring
    STATE = STARTED
    AS TCP ( LISTENER_PORT = 7022 )
    FOR DATABASE_MIRRORING (ROLE=PARTNER);
GO
--Endpoint for initial mirror server instance, which
--is the only server instance running on SQLHOST02.
CREATE ENDPOINT endpoint_mirroring
    STATE = STARTED
    AS TCP ( LISTENER_PORT = 7022 )
    FOR DATABASE_MIRRORING (ROLE=PARTNER);
GO
--Endpoint for witness server instance, which
--is the only server instance running on SQLHOST03.
CREATE ENDPOINT endpoint_mirroring
    STATE = STARTED
    AS TCP ( LISTENER_PORT = 7022 )
    FOR DATABASE_MIRRORING (ROLE=WITNESS);
GO

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Nach oben]

Verwandte Aufgaben

So konfigurieren Sie einen Datenbankspiegelungs-Endpunkt

So zeigen Sie Informationen zum Datenbankspiegelungs-Endpunkt an

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Nach oben]

Siehe auch

Verweis

ALTER ENDPOINT (Transact-SQL)

CREATE ENDPOINT (Transact-SQL)

Konzepte

Auswählen eines Verschlüsselungsalgorithmus

Angeben einer Servernetzwerkadresse (Datenbankspiegelung)

Beispiel: Einrichten der Datenbankspiegelung mithilfe der Windows-Authentifizierung (Transact-SQL)

Der Datenbankspiegelungs-Endpunkt (SQL Server)