Erstellen eines Endpunkts der Datenbankspiegelung für Windows-Authentifizierung (Transact-SQL)Create a Database Mirroring Endpoint for Windows Authentication (Transact-SQL)

GILT FÜR: JaSQL Server NeinAzure SQL-Datenbank NeinAzure Synapse Analytics (SQL DW) NeinParallel Data Warehouse APPLIES TO: YesSQL Server NoAzure SQL Database NoAzure Synapse Analytics (SQL DW) NoParallel Data Warehouse

In diesem Thema wird beschrieben, wie ein Datenbankspiegelungs-Endpunkt in SQL Server 2019 (15.x)SQL Server 2019 (15.x) mit Transact-SQLTransact-SQLerstellt wird, der die Windows-Authentifizierung verwendet.This topic describes how to create a database mirroring endpoint that uses Windows Authentication in SQL Server 2019 (15.x)SQL Server 2019 (15.x) by using Transact-SQLTransact-SQL. Um die Datenbankspiegelung oder Always On-VerfügbarkeitsgruppenAlways On availability groups unterstützen zu können, benötigt jede Instanz von SQL ServerSQL Server einen Datenspiegelungs-Endpunkt.To support database mirroring or Always On-VerfügbarkeitsgruppenAlways On availability groups each instance of SQL ServerSQL Server requires a database mirroring endpoint. Eine Serverinstanz kann nur über einen Datenbankspiegelungsendpunkt verfügen, der einen einzelnen Port besitzt.A server instance can have only one database mirroring endpoint, which has a single port. Ein Datenbankspiegelungsendpunkt kann einen beliebigen Port verwenden, der auf dem lokalen System verfügbar ist, wenn der Endpunkt erstellt wird.A database mirroring endpoint can use any port that is available on the local system when the endpoint is created. Alle Datenbankspiegelungssitzungen auf einer Serverinstanz lauschen an diesem Port, und alle eingehenden Verbindungen für die Datenbankspiegelung verwenden diesen Port.All database mirroring sessions on a server instance listen on that port, and all incoming connections for database mirroring use that port.

Wichtig

Wenn ein Datenbankspiegelungs-Endpunkt vorhanden und bereits in Gebrauch ist, empfiehlt es sich, diesen Endpunkt zu verwenden.If a database mirroring endpoint exists and is already in use, we recommend that you use that endpoint. Wenn ein in Gebrauch befindlicher Endpunkt gelöscht wird, kann dies zu Störungen bei vorhandenen Sitzungen führen.Dropping an in-use endpoint disrupts existing sessions.

In diesem ThemaIn This Topic

VorbereitungenBefore You Begin

SicherheitSecurity

Die Authentifizierungs- und Verschlüsselungsmethoden der Serverinstanz werden vom Systemadministrator festgelegt.The authentication and encryption methods of the server instance are established by the system administrator.

Wichtig

Der RC4-Algorithmus ist veraltet.The RC4 algorithm is deprecated. Dieses Feature wird in einer künftigen Version von Microsoft SQL Server entfernt.This feature will be removed in a future version of Microsoft SQL Server. Verwenden Sie dieses Feature nicht in einer neuen Entwicklungsarbeit, und ändern Sie Anwendungen, die dieses Feature verwenden, so schnell wie möglich.Do not use this feature in new development work, and modify applications that currently use this feature as soon as possible. Stattdessen wird die Verwendung von AES empfohlen.We recommend that you use AES.

BerechtigungenPermissions

Erfordert die CREATE ENDPOINT-Berechtigung oder die Mitgliedschaft in der festen Serverrolle "sysadmin".Requires CREATE ENDPOINT permission, or membership in the sysadmin fixed server role. Weitere Informationen finden Sie unter GRANT (Endpunktberechtigungen) (Transact-SQL).For more information, see GRANT Endpoint Permissions (Transact-SQL).

Verwenden von Transact-SQLUsing Transact-SQL

So erstellen Sie einen Datenbankspiegelungs-Endpunkt, der die Windows-Authentifizierung verwendetTo Create a Database Mirroring Endpoint That Uses Windows Authentication

  1. Stellen Sie eine Verbindung mit der Instanz von SQL ServerSQL Server her, für die Sie einen Endpunkt für die Datenbankspiegelung erstellen möchten.Connect to the instance of SQL ServerSQL Server on which you want to create a database mirroring endpoint.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.From the Standard bar, click New Query.

  3. Ermitteln Sie mithilfe der folgenden Anweisung, ob ein Endpunkt für die Datenbankspiegelung bereits vorhanden ist:Determine if a database mirroring endpoint already exists by using the following statement:

    SELECT name, role_desc, state_desc FROM sys.database_mirroring_endpoints;   
    

    Wichtig

    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.If a database mirroring endpoint already exists for the server instance, use that endpoint for any other sessions you establish on the server instance.

  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.To use Transact-SQL to create an endpoint to use with Windows Authentication, use a CREATE ENDPOINT statement. Die Anweisung weist folgende allgemeine Form auf:The statement takes the following general form:

    CREATE ENDPOINT <Endpunktname>CREATE ENDPOINT <endpointName>

    STATE=STARTEDSTATE=STARTED

    AS TCP ( LISTENER_PORT = <Listenerportliste> )AS TCP ( LISTENER_PORT = <listenerPortList> )

    FOR DATABASE_MIRRORINGFOR DATABASE_MIRRORING

    ((

    [ AUTHENTICATION = WINDOWS [ <Autorisierungsmethode> ][ AUTHENTICATION = WINDOWS [ <authorizationMethod> ]

    ]]

    [ [ , ] ENCRYPTION = REQUIRED[ [,] ENCRYPTION = REQUIRED

    [ ALGORITHM { <Algorithmus> } ][ ALGORITHM { <algorithm> } ]

    ]]

    [ , ] ROLE = <Rolle>[,] ROLE = <role>

    ))

    Hierbei gilt:where

    • <Endpunktname> ist der eindeutige Name für den Endpunkt der Datenbankspiegelung der Serverinstanz.<endpointName> is a unique name for the database mirroring endpoint of the server instance.

    • STARTED gibt an, dass der Endpunkt gestartet werden und mit der Überwachung auf Verbindungen beginnen soll.STARTED specifies that the endpoint is to be started and to begin listening for connections. Ein Endpunkt der Datenbankspiegelung wird in der Regel im Status STARTED erstellt.A database mirroring endpoint typically is created in the STARTED state. Alternativ können Sie eine Sitzung in einem Status STOPPED (die Standardeinstellung) oder DISABLED erstellen.Alternatively, you can start a session in a STOPPED state (the default) or DISABLED state.

    • <listenerPortList> ist eine einzelne Portnummer (nnnn), an der der Server auf Datenbankspiegelungsnachrichten lauschen soll.<listenerPortList> is a single port number (nnnn) on which you want the server to listen for database mirroring messages. Nur TCP ist zulässig; wenn Sie ein anderes Protokoll angeben, wird ein Fehler ausgelöst.Only TCP is allowed; specifying any other protocol causes an error.

      Eine Portnummer kann in einem Computersystem nur einmal verwendet werden.A port number can be used only once per computer system. Ein Datenbankspiegelungsendpunkt kann einen beliebigen Port verwenden, der auf dem lokalen System verfügbar ist, wenn der Endpunkt erstellt wird.A database mirroring endpoint can use any port that is available on the local system when the endpoint is created. Verwenden Sie die folgende Transact-SQL-Anweisung, um den Port anzugeben, der zurzeit von TCP-Endpunkten im System verwendet wird:To identify the ports currently being used by TCP endpoints on the system, use the following Transact-SQL statement:

      SELECT name, port FROM sys.tcp_endpoints;  
      

      Wichtig

      Für jede Serverinstanz ist ein und nur ein eindeutiger Überwachungsport erforderlich.Each server instance requires one and only one unique listener port.

    • Bei der Windows-Authentifizierung ist die AUTHENTICATION-Option optional, es sei denn, der Endpunkt soll nur NTLM oder Kerberos zum Authentifzieren von Verbindungen verwenden.For Windows Authentication, the AUTHENTICATION option is optional, unless you want the endpoint to use only NTLM or Kerberos to authenticate connections. <Autorisierungsmethode> gibt die Methode zum Authentifizieren von Verbindungen an: NTLM, KERBEROS oder NEGOTIATE.<authorizationMethod> specifies the method used to authenticate connections as one of the following: NTLM, KERBEROS, or NEGOTIATE. Die Standardeinstellung, NEGOTIATE, bewirkt, dass der Endpunkt das Aushandlungsprotokoll von Windows verwendet, um NTLM oder Kerberos auszuwählen.The default, NEGOTIATE, causes the endpoint to use the Windows negotiation protocol to choose either NTLM or Kerberos. Die Verbindungsverhandlung ermöglicht abhängig von der Authentifizierungsebene des gegenüberliegenden Endpunktes Verbindungen mit oder ohne Authentifizierung.Negotiation enables connections with or without authentication, depending on the authentication level of the opposite endpoint.

    • ENCRYPTION wird standardmäßig auf REQUIRED festgelegt.ENCRYPTION is set to REQUIRED by default. Dies bedeutet, dass alle Verbindungen mit diesem Endpunkt Verschlüsselungen verwenden müssen.This means that all connections to this endpoint must use encryption. Sie können die Verschlüsselung jedoch auch deaktivieren oder als optional für einen Endpunkt festlegen.However, you can disable encryption or make it optional on an endpoint. Die Alternativen lauten folgendermaßen:The alternatives are as follows:

      WertValue DefinitionDefinition
      DISABLEDDISABLED Gibt an, dass über eine Verbindung gesendete Daten nicht verschlüsselt werden.Specifies that data sent over a connection is not encrypted.
      SUPPORTEDSUPPORTED Gibt an, dass die Daten nur verschlüsselt werden, wenn der gegenüberliegende Endpunkt SUPPORTED oder REQUIRED angibt.Specifies that the data is encrypted only if the opposite endpoint specifies either SUPPORTED or REQUIRED.
      REQUIREDREQUIRED Gibt an, dass über eine Verbindung gesendete Daten verschlüsselt werden müssen.Specifies that data sent over a connection must be encrypted.

      Wenn ein Endpunkt Verschlüsselung erfordert, muss für den anderen Endpunkt ENCRYPTION auf SUPPORTED oder REQUIRED festgelegt werden.If an endpoint requires encryption, the other endpoint must have ENCRYPTION set to either SUPPORTED or REQUIRED.

    • <Algorithmus> stellt die Option zum Angeben der Verschlüsselungsstandards für den Endpunkt bereit.<algorithm> provides the option of specifying the encryption standards for the endpoint. Der Wert von <Algorithmus> kann einer der folgenden Algorithmen oder eine Kombination aus Algorithmen sein: RC4, AES, AES RC4 oder RC4 AES.The value of <algorithm> can be one following algorithms or combinations of algorithms: RC4, AES, AES RC4, or RC4 AES.

      AES RC4 gibt an, dass dieser Endpunkt den Verschlüsselungsalgorithmus verhandelt, wobei der AES-Algorithmus bevorzugt wird.AES RC4 specifies that this endpoint will negotiate for the encryption algorithm, giving preference to the AES algorithm. RC4 AES gibt an, dass dieser Endpunkt den Verschlüsselungsalgorithmus verhandelt, wobei der RC4-Algorithmus bevorzugt wird.RC4 AES specifies that this endpoint will negotiate for the encryption algorithm, giving preference to the RC4 algorithm. Wenn beide Endpunkte beide Algorithmen angeben, jedoch in unterschiedlicher Reihenfolge, gewinnt der Endpunkt, der die Verbindung annimmt.If both endpoints specify both algorithms but in different orders, the endpoint accepting the connection wins. Stellen Sie explizit denselben Algorithmus bereit, um Verbindungsfehler zwischen verschiedenen Servern zu verhindern.Provide the same algorithm explicitly to avoid connection errors between different servers.

      Hinweis

      Der RC4-Algorithmus ist veraltet.The RC4 algorithm is deprecated. Dieses Feature wird in einer künftigen Version von Microsoft SQL Server entfernt.This feature will be removed in a future version of Microsoft SQL Server. Verwenden Sie dieses Feature nicht in einer neuen Entwicklungsarbeit, und ändern Sie Anwendungen, die dieses Feature verwenden, so schnell wie möglich.Do not use this feature in new development work, and modify applications that currently use this feature as soon as possible. Stattdessen wird die Verwendung von AES empfohlen.We recommend that you use AES.

    • <Rolle> definiert die Rolle bzw. Rollen, die der Server ausführen kann.<role> defines the role or roles that the server can perform. Die Angabe von ROLE ist erforderlich.Specifying ROLE is required. Die Rolle des Endpunkts ist jedoch nur für die Datenbankspiegelung relevant.However, the role of the endpoint is relevant only for database mirroring. Für Always On-VerfügbarkeitsgruppenAlways On availability groupswird die Rolle des Endpunkts ignoriert.For Always On-VerfügbarkeitsgruppenAlways On availability groups, the role of the endpoint is ignored.

      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.To allow a server instance to serve as one role for one database mirroring session and different role for another session, specify ROLE=ALL. Wenn Sie eine Serverinstanz auf die Partner- oder Zeugenrolle beschränken möchten, geben Sie ROLE=PARTNER bzw. ROLE=WITNESS an.To restrict a server instance to being either a partner or a witness, specify ROLE=PARTNER or ROLE=WITNESS, respectively.

      Hinweis

      Weitere Informationen zu den Datenbank-Spiegelungsoptionen für die verschiedenen Editionen von SQL ServerSQL Serverfinden Sie unter Von den SQL Server 2016-Editionen unterstützte Funktionen.For more information about Database Mirroring options for different editions of SQL ServerSQL Server, see Features Supported by the Editions of SQL Server 2016.

    Eine vollständige Beschreibung der CREATE ENDPOINT-Syntax finden Sie unter CREATE ENDPOINT (Transact-SQL)erstellt wird, der die Windows-Authentifizierung verwendet.For a complete description of the CREATE ENDPOINT syntax, see CREATE ENDPOINT (Transact-SQL).

    Hinweis

    Um einen vorhandenen Endpunkt zu ändern, verwenden Sie ALTER ENDPOINT (Transact-SQL)erstellt wird, der die Windows-Authentifizierung verwendet.To change an existing endpoint, use ALTER ENDPOINT (Transact-SQL).

Beispiel: Erstellen von Endpunkten mit Unterstützung der Datenbankspiegelung (Transact-SQL)Example: Creating Endpoints to Support for Database Mirroring (Transact-SQL)

Im folgenden Beispiel werden Datenbankspiegelungs-Endpunkte für die Standardserverinstanzen auf drei separaten Computersystemen erstellt:The following example creates database mirroring endpoints for the default server instances on three separate computer systems:

Rolle der ServerinstanzRole of server instance Name des HostcomputersName of host computer
Partner (anfangs die Prinzipalrolle)Partner (initially in the principal role) SQLHOST01\.
Partner (anfangs die Spiegelrolle)Partner (initially in the mirror role) SQLHOST02\.
ZeugeWitness SQLHOST03\.

In diesem Beispiel verwenden alle drei Endpunkte die Portnummer 7022, wobei jede verfügbare Portnummer möglich wäre.In this example, all three endpoints use port number 7022, though any available port number would work. Die Option AUTHENTICATION ist unnötig, da die Endpunkte den Standardtyp, also die Windows-Authentifizierung verwenden.The AUTHENTICATION option is unnecessary, because the endpoints use the default type, Windows Authentication. 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.The ENCRYPTION option is also unnecessary, because the endpoints are all intended to negotiate the authentication method for a connection, which is the default behavior for Windows Authentication. Außerdem erfordern alle Endpunkte die Verschlüsselung, was ebenfalls zum Standardverhalten gehört.Also, all of the endpoints require the encryption, which is the default behavior.

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).Each server instance is limited to serving as either a partner or a witness, and the endpoint of each server expressly specifies which role (ROLE=PARTNER or ROLE=WITNESS).

Wichtig

Jede Serverinstanz kann nur einen Endpunkt besitzen.Each server instance can have only one endpoint. Wenn Sie daher wollen, dass eine Serverinstanz in einigen Sitzungen als Partner und in anderen als Zeuge agiert, müssen Sie ROLE=ALL festlegen.Therefore, if you want a server instance to be a partner in some sessions and the witness in others, specify ROLE=ALL.

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

So konfigurieren Sie einen Datenbankspiegelungs-EndpunktTo Configure a Database Mirroring Endpoint

So zeigen Sie Informationen zum Datenbankspiegelungs-Endpunkt anTo View Information About the Database Mirroring Endpoint

Weitere InformationenSee Also

ALTER ENDPOINT (Transact-SQL) ALTER ENDPOINT (Transact-SQL)
Auswählen eines Verschlüsselungsalgorithmus Choose an Encryption Algorithm
CREATE ENDPOINT (Transact-SQL) CREATE ENDPOINT (Transact-SQL)
Angeben einer Servernetzwerkadresse (Datenbankspiegelung) Specify a Server Network Address (Database Mirroring)
Beispiel: Einrichten der Datenbankspiegelung mithilfe der Windows-Authentifizierung (Transact-SQL) Example: Setting Up Database Mirroring Using Windows Authentication (Transact-SQL)
Der Datenbankspiegelungs-Endpunkt (SQL Server)The Database Mirroring Endpoint (SQL Server)