Problembehandlung für die AlwaysOn-Verfügbarkeitsgruppenkonfiguration (SQL Server)
Dieses Thema enthält Informationen, um Sie beim Beheben typischer Probleme beim Konfigurieren von Serverinstanzen für AlwaysOn-Verfügbarkeitsgruppen zu unterstützen. Typische Konfigurationsprobleme: AlwaysOn-Verfügbarkeitsgruppen ist deaktiviert, Konten werden falsch konfiguriert, der Datenbankspiegelungs-Endpunkt ist nicht vorhanden, auf den Endpunkt kann nicht zugegriffen werden (SQL Server-Fehler 1418), Netzwerkzugriff ist nicht vorhanden und der Befehl zum Verknüpfen der Datenbank schlägt fehl (SQL Server-Fehler 35250).
Hinweis |
---|
Stellen Sie sicher, dass die AlwaysOn-Verfügbarkeitsgruppen-Voraussetzungen erfüllt sind. Weitere Informationen finden Sie unter Voraussetzungen, Einschränkungen und Empfehlungen für AlwaysOn-Verfügbarkeitsgruppen (SQL Server). |
In diesem Thema:
Abschnitt |
Beschreibung |
---|---|
AlwaysOn-Verfügbarkeitsgruppen sind nicht aktiviert |
Wenn eine Instanz von SQL Server nicht für AlwaysOn-Verfügbarkeitsgruppen aktiviert ist, wird von der Instanz die Verfügbarkeitsgruppenerstellung nicht unterstützt. Es können außerdem keine Verfügbarkeitsreplikate gehostet werden. |
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 des Fehlers beim Verknüpfen von sekundären Datenbanken mit einer Verfügbarkeitsgruppe aufgrund einer inaktiven Verbindung mit dem primären Replikat. |
Schreibgeschütztes Routing funktioniert nicht ordnungsgemäß |
|
Verwandte Aufgaben |
Enthält eine Liste aufgabenbezogener Themen in der SQL Server 2012-Onlinedokumentation, die besonders relevant für die Problembehandlung an einer Verfügbarkeitsgruppenkonfiguration sind. |
Verwandte Inhalte |
Enthält eine Liste von relevanten Ressourcen außerhalb der SQL Server-Onlinedokumentation. |
AlwaysOn-Verfügbarkeitsgruppen sind nicht aktiviert
Die Funktion AlwaysOn-Verfügbarkeitsgruppen muss auf allen Instanzen von SQL Server 2012 aktiviert werden. 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.
Verfügen die Konten über die richtigen Berechtigungen?
Falls die Partner unter demselben Domänenbenutzerkonto ausgeführt werden, sind die richtigen Benutzeranmeldenamen automatisch in beiden master-Datenbanken vorhanden. Dadurch wird die Sicherheitskonfiguration der Datenbank vereinfacht und wird somit empfohlen.
Wenn zwei Serverinstanzen als unterschiedliche Konten ausgeführt werden, muss die Anmeldung für die Konten in master auf der Remoteserverinstanz erstellt werden, und dieser Anmeldung müssen CONNECT-Berechtigungen gewährt werden, damit eine Verbindung mit dem Datenbankspiegelungs-Endpunkt dieser Serverinstanz hergestellt werden kann. Weitere Informationen finden Sie unter Einrichten von Anmeldekonten für die Datenbankspiegelung oder AlwaysOn-Verfügbarkeitsgruppen (SQL Server).
Wenn SQL Server als integriertes Konto, z. B. Lokales System, Lokaler Dienst oder Netzwerkdienst, oder als Nicht-Domänenkonto ausgeführt wird, müssen Sie Zertifikate zur 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 unter Verwenden von Zertifikaten für einen Datenbankspiegelungs-Endpunkt (Transact-SQL).
[Nach oben]
Endpunkte
Endpunkte müssen ordnungsgemäß konfiguriert sein.
Stellen Sie sicher, dass jede Instanz von SQL Server, die ein Verfügbarkeitsreplikat hosten wird (jeder Replikatspeicherort) einen Datenbankspiegelungs-Endpunkt besitzt. Um festzustellen, ob auf einer bestimmten Serverinstanz bereits ein Datenbankspiegelungs-Endpunkt vorhanden ist, verwenden Sie die Katalogsicht sys.database_mirroring_endpoints. Weitere Informationen finden Sie entweder unter Erstellen eines Endpunkts der Datenbankspiegelung für Windows-Authentifizierung (Transact-SQL) oder Ermöglichen des Verwendens von Zertifikaten für ausgehende Verbindungen für einen Datenbankspiegelungs-Endpunkt (Transact-SQL).
Überprüfen Sie, ob die Portnummern richtig sind.
Verwenden Sie die folgende Transact-SQL-Anweisung, um den Port zu identifizieren, der derzeit dem Endpunkt der Datenbankspiegelung einer Serverinstanz zugeordnet ist:
SELECT type_desc, port FROM sys.tcp_endpoints; GO
Bei Problemen mit der Einrichtung von AlwaysOn-Verfügbarkeitsgruppen, die schwer zu erklären sind, empfiehlt es sich, jede Serverinstanz zu prüfen, um zu ermitteln, ob von der Serverinstanz die richtigen Ports überwacht werden. Informationen zum Überprüfen der Verfügbarkeit von Ports finden Sie unter MSSQLSERVER_1418.
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).
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
[Nach oben]
Systemname
Für den Systemnamen einer Serverinstanz in einer Endpunkt-URL können Sie jeden beliebigen Namen verwenden, der das System eindeutig bezeichnet. 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). Bei Verwendung des vollqualifizierten Domänennamens ist eine problemfreie Funktionsweise sichergestellt. 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 insbesondere von Bedeutung, wenn sich die Serverinstanzen in unterschiedlichen Domänen befinden, die sich nicht vertrauen (nicht vertrauenswürdige Domänen).
Endpunktzugriff (SQL Server-Fehler 1418)
In dieser Meldung in SQL Server wird angegeben, dass die in der Endpunkt-URL angegebene Servernetzwerkadresse nicht erreicht werden kann oder nicht vorhanden ist. Es wird vorgeschlagen, den Namen der Netzwerkadresse zu überprüfen und den Befehl erneut auszugeben. Weitere Informationen finden Sie unter MSSQLSERVER_1418.
[Nach oben]
Fehler beim Verknüpfen der Datenbank (SQL Server-Fehler 35250)
Dieser Abschnitt erläutert die möglichen Ursachen und die Lösung des Fehlers beim Verknüpfen von sekundären Datenbanken mit einer Verfügbarkeitsgruppe aufgrund einer inaktiven Verbindung mit dem primären Replikat.
Lösung:
Überprüfen Sie die Firewalleinstellung, um zu ermitteln, ob die Endpunktportkommunikation zwischen den Serverinstanzen, auf denen das primäre Replikat gehostet wird, und dem sekundären Replikat (standardmäßig Port 5022) möglich ist.
Überprüfen Sie, ob das Netzwerkdienstkonto über Verbindungsberechtigung für den Endpunkt verfügt.
Schreibgeschütztes Routing funktioniert nicht ordnungsgemäß
Überprüfen Sie die folgenden Konfigurationswerteinstellungen und korrigieren Sie sie gegebenenfalls.
|
Bei... |
Aktion |
Kommentare |
Link |
---|---|---|---|---|
dem aktuellen primären Replikat |
Stellen Sie sicher, dass der Listener der Verfügbarkeitsgruppe online ist. |
So überprüfen Sie, ob der Listener online ist:
So starten Sie einen Offlinelistener neu:
|
||
dem aktuellen primären Replikat |
Stellen Sie sicher, dass READ_ONLY_ROUTING_LIST nur Serverinstanzen enthält, die ein lesbares sekundäres Replikat hosten. |
|
sys.availability_replicas (Transact-SQL) |
|
jedem Replikat in 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 |
|
jedem Replikat in read_only_routing_list |
Überprüfen Sie in SQL Server Configuration Manager die folgenden Aspekte:
|
— |
||
jedem Replikat in read_only_routing_list |
Stellen Sie sicher, dass 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 |
|
Clientsystem |
Überprüfen Sie, ob der Clienttreiber schreibgeschütztes Routing unterstützt. |
— |
Nach oben
Verwandte Aufgaben
Erstellung und Konfiguration von Verfügbarkeitsgruppen (SQL Server)
Erstellen eines Endpunkts der Datenbankspiegelung für Windows-Authentifizierung (Transact-SQL)
Angeben der Endpunkt-URL beim Hinzufügen oder Ändern eines Verfügbarkeitsreplikats (SQL Server)
Manuelles Vorbereiten einer sekundären Datenbank auf eine Verfügbarkeitsgruppe (SQL Server)
Verwaltung von Anmeldungen und Aufträgen für die Datenbanken einer Verfügbarkeitsgruppe (SQL Server)
[Nach oben]
Verwandte Inhalte
Anzeigen von Ereignissen und Protokollen für einen Failovercluster
SQL Server AlwaysOn-Teamblog: Der offizielle SQL Server AlwaysOn-Teamblog
[Nach oben]
Siehe auch
Konzepte
Transportsicherheit für Datenbankspiegelung und AlwaysOn-Verfügbarkeitsgruppen (SQL Server)
Voraussetzungen, Einschränkungen und Empfehlungen für AlwaysOn-Verfügbarkeitsgruppen (SQL Server)