Freigeben über


Fehlerbehebung bei der Konfiguration von AlwaysOn Availability Groups (SQL Server)

Dieses Thema enthält Informationen, mit denen Sie typische Probleme beim Konfigurieren von Serverinstanzen für AlwaysOn-Verfügbarkeitsgruppen beheben können. Typische Konfigurationsprobleme umfassen AlwaysOn-Verfügbarkeitsgruppen sind deaktiviert, Konten sind falsch konfiguriert, der Endpunkt für die Datenbankspiegelung ist nicht vorhanden, auf den Endpunkt kann nicht zugegriffen werden (SQL Server-Fehler 1418), Netzwerkzugriff ist nicht vorhanden, und ein Verknüpfungsdatenbankbefehl schlägt fehl (SQL Server-Fehler 35250).

Hinweis

Stellen Sie sicher, dass Sie die Voraussetzungen für AlwaysOn-Verfügbarkeitsgruppen erfüllen. Weitere Informationen finden Sie unter Voraussetzungen, Einschränkungen und Empfehlungen für AlwaysOn-Verfügbarkeitsgruppen (SQL Server).

In diesem Thema:

`Section` BESCHREIBUNG
AlwaysOn-Verfügbarkeitsgruppen sind nicht aktiviert. Wenn eine Instanz von SQL Server für AlwaysOn-Verfügbarkeitsgruppen nicht aktiviert ist, unterstützt die Instanz die Erstellung von Verfügbarkeitsgruppen nicht und kann keine Verfügbarkeitsreplikate hosten.
Konten Erläutert die Anforderungen für eine ordnungsgemäße Konfiguration der Konten, unter denen SQL Server ausgeführt wird.
Endpunkte Erläutert, wie Probleme mit dem Datenbankspiegelungs-Endpunkt einer Serverinstanz diagnostiziert werden.
Systemname Fasst die Alternativen zum Angeben des Systemnamens einer Serverinstanz in einer Endpunkt-URL zusammen.
Netzwerkzugriff Dokumentiert die Anforderung, dass jeder Serverinstanz, die ein Verfügbarkeitsreplikat hostet, der Zugriff auf den Port aller anderen Serverinstanzen über TCP ermöglicht werden muss.
Endpunktzugriff (SQL Server-Fehler 1418) Enthält Informationen zu dieser SQL Server -Fehlermeldung.
Fehler beim Verknüpfen der Datenbank (SQL Server-Fehler 35250) Erläutert die möglichen Ursachen und die Lösung eines Fehlers beim Verbinden sekundärer Datenbanken mit einer Verfügbarkeitsgruppe, da die Verbindung mit dem primären Replikat nicht aktiv ist.
Schreibgeschütztes Routing funktioniert nicht ordnungsgemäß
Verwandte Aufgaben Enthält eine Liste aufgabenorientierter Themen in SQL Server 2014 Books Online, die besonders für die Problembehandlung bei einer Verfügbarkeitsgruppenkonfiguration relevant sind.
Verwandte Inhalte Enthält eine Liste von relevanten Ressourcen außerhalb der SQL Server -Onlinedokumentation.

AlwaysOn-Verfügbarkeitsgruppen sind nicht aktiviert.

Das Feature "AlwaysOn-Verfügbarkeitsgruppen" muss für jede Instanz von SQL Server 2014 aktiviert sein. Weitere Informationen finden Sie unter Aktivieren und Deaktivieren von AlwaysOn-Verfügbarkeitsgruppen (SQL Server).

Konten

Die Konten, unter denen SQL Server ausgeführt wird, müssen ordnungsgemäß konfiguriert sein.

  1. Verfügen die Konten über die richtigen Berechtigungen?

    1. Wenn die Partner als dasselbe Domänenbenutzerkonto agieren, existieren die richtigen Benutzeranmeldungen automatisch in beiden Masterdatenbanken. Dadurch wird die Sicherheitskonfiguration der Datenbank vereinfacht und empfohlen.

    2. Wenn zwei Serverinstanzen als unterschiedliche Konten ausgeführt werden, müssen die Anmeldeinformationen für jedes Konto im Master auf der Remoteserverinstanz erstellt werden, und diesen Anmeldeinformationen muss die Verbindungsberechtigung erteilt werden, um sich mit dem Datenbankspiegelungsendpunkt dieser Serverinstanz zu verbinden. Weitere Informationen finden Sie unterEinrichten von Anmeldekonten für Datenbankspiegelung oder AlwaysOn-Verfügbarkeitsgruppen (SQL Server).

  2. Wenn SQL Server als integriertes Konto ausgeführt wird, z. B. "Lokales System", "Lokaler Dienst" oder "Netzwerkdienst" oder ein Nichtdomänenkonto, müssen Sie Zertifikate für die Endpunktauthentifizierung verwenden. Wenn die Dienstkonten Domänenkonten in derselben Domäne verwenden, können Sie CONNECT-Zugriff für jedes Dienstkonto an allen Replikatspeicherorten gewähren oder Zertifikate verwenden. Weitere Informationen finden Sie unterVerwenden von Zertifikaten für einen Datenbankspiegelungsendpunkt (Transact-SQL).

Endpunkte

Endpunkte müssen ordnungsgemäß konfiguriert sein.

  1. Stellen Sie sicher, dass jede Instanz von SQL Server , die ein Verfügbarkeitsreplikat hosten wird (jeder Replikatspeicherort) einen Datenbankspiegelungs-Endpunkt besitzt. Um zu ermitteln, ob ein Datenbankspiegelungsendpunkt in einer bestimmten Serverinstanz vorhanden ist, verwenden Sie die sys.database_mirroring_endpoints Katalogansicht. Weitere Informationen finden Sie unter Erstellen eines Datenbankspiegelungsendpunkts für windows-Authentifizierung (Transact-SQL) oder zulassen, dass ein Datenbankspiegelungsendpunkt Zertifikate für ausgehende Verbindungen (Transact-SQL) verwendet.

  2. Überprüfen Sie, ob die Portnummern richtig sind.

    Verwenden Sie die folgende Transact-SQL-Anweisung, um den Port zu identifizieren, der derzeit dem Datenbankspiegelungs-Endpunkt einer Serverinstanz zugeordnet ist:

    SELECT type_desc, port FROM sys.tcp_endpoints;
    GO
    
  3. Für Setupprobleme von AlwaysOn-Verfügbarkeitsgruppen, die schwierig zu erklären sind, empfehlen wir, jede Serverinstanz zu überprüfen, um festzustellen, ob sie auf die richtigen Ports lauscht. Informationen zur Überprüfung der Portverfügbarkeit finden Sie unter MSSQLSERVER_1418.

  4. Stellen Sie sicher, dass die Endpunkte gestartet wurden (STATE=STARTED). Verwenden Sie auf jeder Serverinstanz folgende Transact-SQL-Anweisung:

    SELECT state_desc FROM sys.database_mirroring_endpoints
    

    Weitere Informationen zur state_desc-Spalte finden Sie unter sys.database_mirroring_endpoints (Transact-SQL).

    Verwenden Sie die folgende Transact-SQL-Anweisung, um einen Endpunkt zu starten:

    ALTER ENDPOINT Endpoint_Mirroring 
    STATE = STARTED 
    AS TCP (LISTENER_PORT = <port_number>)
    FOR database_mirroring (ROLE = ALL);
    GO
    

    Weitere Informationen finden Sie unter ALTER ENDPOINT (Transact-SQL).

  5. Stellen Sie sicher, dass der Anmeldename auf dem anderen Server über CONNECT-Berechtigungen verfügt. Führen Sie auf jeder Serverinstanz die folgende Transact-SQL-Anweisung aus, um zu ermitteln, wer über CONNECT-Berechtigungen für einen Endpunkt verfügt:

    SELECT 'Metadata Check';
    SELECT EP.name, SP.STATE, 
       CONVERT(nvarchar(38), suser_name(SP.grantor_principal_id)) 
          AS GRANTOR, 
       SP.TYPE AS PERMISSION,
       CONVERT(nvarchar(46),suser_name(SP.grantee_principal_id)) 
          AS GRANTEE 
       FROM sys.server_permissions SP , sys.endpoints EP
       WHERE SP.major_id = EP.endpoint_id
       ORDER BY Permission,grantor, grantee; 
    GO
    
    

Systemname

Für den Systemnamen einer Serverinstanz in einer Endpunkt-URL können Sie einen beliebigen Namen verwenden, der das System eindeutig identifiziert. Die Serveradresse kann ein Systemname sein (wenn sich die Systeme in derselben Domäne befinden), ein vollqualifizierter Domänenname oder eine IP-Adresse (vorzugsweise eine statische IP-Adresse). Die Verwendung des vollqualifizierten Domänennamens ist garantiert funktionsfähig. Weitere Informationen finden Sie unter Angeben der Endpunkt-URL beim Hinzufügen oder Ändern eines Verfügbarkeitsreplikats (SQL Server).

Netzwerkzugriff

Jeder Serverinstanz, die ein Verfügbarkeitsreplikat hostet, muss der Zugriff auf den Port aller anderen Serverinstanzen über TCP ermöglicht werden. Dies ist besonders wichtig, wenn sich die Serverinstanzen in verschiedenen Domänen befinden, die einander nicht vertrauen (nicht vertrauenswürdige Domänen).

Endpunktzugriff (SQL Server-Fehler 1418)

Diese SQL Server-Nachricht gibt an, dass die in der Endpunkt-URL angegebene Servernetzwerkadresse nicht erreicht werden kann oder nicht vorhanden ist, und es schlägt vor, den Namen der Netzwerkadresse zu überprüfen und den Befehl erneut aufzugeben. Weitere Informationen finden Sie unter MSSQLSERVER_1418.

Fehler beim Verknüpfen der Datenbank (SQL Server-Fehler 35250)

In diesem Abschnitt werden die möglichen Ursachen und Auflösungen eines Fehlers beim Verbinden sekundärer Datenbanken mit der Verfügbarkeitsgruppe erläutert, da die Verbindung mit dem primären Replikat nicht aktiv ist.

Lösung:

  1. Überprüfen Sie die Firewalleinstellung, um festzustellen, ob die Endpunktportkommunikation zwischen den Serverinstanzen, die primäre Replikat hosten, und dem sekundären Replikat (Port 5022 standardmäßig) zulässig ist.

  2. Überprüfen Sie, ob das Netzwerkdienstkonto über eine Verbindungsberechtigung mit dem Endpunkt verfügt.

Schreibgeschütztes Routing funktioniert nicht ordnungsgemäß

Überprüfen Sie bei Bedarf die folgenden Konfigurationswerte, und korrigieren Sie sie.

Auf... Maßnahme Kommentare Verknüpfung
Kontrollkästchen Derzeitiges primäres Replikat Stellen Sie sicher, dass der Listener der Verfügbarkeitsgruppe online ist. So überprüfen Sie, ob der Listener online ist:

SELECT * FROM sys.dm_tcp_listener_states;

So starten Sie einen Offlinelistener neu:

ALTER AVAILABILITY GROUP myAG RESTART LISTENER 'myAG_Listener';
sys.dm_tcp_listener_states (Transact-SQL)

VERÄNDERN VERFÜGBARKEITSGRUPPE (Transact-SQL)
Kontrollkästchen Derzeitiges primäres Replikat Stellen Sie sicher, dass die READ_ONLY_ROUTING_LIST nur Serverinstanzen enthält, die ein lesbares sekundäres Replikat hosten. So identifizieren Sie lesbare sekundäre Replikate: sys.availability_replicas (secondary_role_allow_connections_desc Spalte)

So zeigen Sie eine nur lesbare Routingliste an: sys.availability_read_only_routing_lists

So ändern Sie eine schreibgeschützte Routingliste: ALTER AVAILABILITY GROUP
sys.availability_replicas (Transact-SQL)

sys.availability_read_only_routing_lists (Transact-SQL)

VERÄNDERN VERFÜGBARKEITSGRUPPE (Transact-SQL)
Kontrollkästchen Jedes Replikat im read_only_routing_list Stellen Sie sicher, dass die Windows-Firewall den Port READ_ONLY_ROUTING_URL nicht blockiert. - Konfigurieren einer Windows-Firewall für Datenbankmodulzugriff
Kontrollkästchen Jedes Replikat in der Read-Only-Routing-Liste Überprüfen Sie in SQL Server Configuration Manager folgendes:

SQL Server-Remotekonnektivität ist aktiviert.

TCP/IP ist aktiviert.

Die IP-Adressen sind ordnungsgemäß konfiguriert.
- Anzeigen oder Ändern von Servereigenschaften (SQL Server)

Konfigurieren eines Servers zum Belauschen eines bestimmten TCP-Ports (SQL Server-Konfigurations-Manager)
Kontrollkästchen Jedes Replikat im read_only_routing_list Stellen Sie sicher, dass der READ_ONLY_ROUTING_URL (TCP://system-address:port) den richtigen vollqualifizierten Domänennamen (FQDN) und die Portnummer enthält. - Berechnen von read_only_routing_url für AlwaysOn

sys.availability_replicas (Transact-SQL)

VERÄNDERN VERFÜGBARKEITSGRUPPE (Transact-SQL)
Kontrollkästchen Clientsystem Stellen Sie sicher, dass der Clienttreiber schreibgeschütztes Routing unterstützt. - AlwaysOn-Clientkonnektivität (SQL Server)

Verwandte Aufgaben

Verwandte Inhalte

Siehe auch

Transportsicherheit für Datenbankspiegelung und AlwaysOn-Verfügbarkeitsgruppen (SQL Server)Konfiguration des ClientnetzwerksVoraussetzungen, Einschränkungen und Empfehlungen für AlwaysOn-Verfügbarkeitsgruppen (SQL Server)