Originalproduktversion: SQL Server 2012 Enterprise, SQL Server 2014 Enterprise, SQL Server 2016 Enterprise Ursprüngliche KB-Nummer: 10179
Wichtige Hinweise
Microsoft CSS-Daten deuten darauf hin, dass ein erheblicher Prozentsatz der Kundenprobleme häufig in einem freigegebenen CU behandelt wird, aber nicht proaktiv angewendet wird und daher eine fortlaufende, proaktive Installation von CUs empfiehlt, sobald sie verfügbar werden. Weitere Informationen finden Sie unter Ankündigung von Updates für das inkrementelle SQL Server-Wartungsmodell (ISM).
Nützliche Tools für die Problembehandlung und Überwachung von AlwaysOn-Verfügbarkeitsgruppen finden Sie im Handbuch zur Problembehandlung und Überwachung von Always On-Verfügbarkeitsgruppen, um mehr über die Tools zu erfahren, die Sie für die Diagnose verschiedener Arten von Problemen und für die Überwachung von Verfügbarkeitsgruppen verwenden können. Der Leitfaden enthält auch zusätzliche Szenarien, die in diesem geführten Rundgang möglicherweise nicht behandelt werden.
Der übergeordnete Knoten für die Dokumentation zu Always On-Verfügbarkeitsgruppen und stellt einen Einzigen Stoppverweis für verschiedene Fragen bereit, siehe AlwaysOn-Verfügbarkeitsgruppen (SQL Server).
Ich benötige Zeiger zum Einrichten und Konfigurieren von AlwaysOn-Verfügbarkeitsgruppen
Wenn Sie nach Dokumentation zum Einrichten der AlwaysOn-Konfiguration suchen, lesen Sie die folgenden Dokumente:
Erste Schritte mit Always On Availability Groups (SQL Server) – Das Dokument enthält Antworten auf viele Fragen, die Sie möglicherweise über Verfügbarkeitsgruppen und Setup haben. Wenn Sie alle Schritte in diesem Artikel ausführen und Voraussetzungen, Einschränkungen und Empfehlungen für Always On Availability Groups (SQL Server) überprüfen, können Sie viele Probleme verhindern, die beim Einrichten und Verwalten von Verfügbarkeitsgruppen in Ihrer Umgebung auftreten können.
Ich habe Probleme beim Konfigurieren von Always On-Verfügbarkeitsgruppen
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). Lesen Sie das folgende Dokument, um Hilfe zur Problembehandlung dieser Probleme zu finden:
Ich habe Probleme mit der Listener-Konfiguration (19471, 19476 und andere Fehler)
Eines der häufigsten Konfigurationsprobleme, auf die Kunden stoßen, ist die Erstellung von Verfügbarkeitsgruppenlistener. Die Fehler ähneln den folgenden:
Msg 19471, Level 16, State 0, Line 2The WSFC cluster could not bring the Network Name resource with DNS name '' online. Möglicherweise wurde der DNS-Name übernommen oder hat einen Konflikt mit vorhandenen Namendiensten, oder der WSFC-Clusterdienst wird nicht ausgeführt oder kann nicht darauf zugreifen. Verwenden Sie einen anderen DNS-Namen, um Namenskonflikte aufzulösen, oder überprüfen Sie das WSFC-Clusterprotokoll auf weitere Informationen.
Msg 19476, Level 16, State 4, Line 2Die Versuche, den Netzwerknamen und die IP-Adresse für den Listener zu erstellen, ist fehlgeschlagen. Möglicherweise wird der WSFC-Dienst nicht ausgeführt oder kann im aktuellen Zustand nicht darauf zugreifen, oder die für den Netzwerknamen und die IP-Adresse bereitgestellten Werte sind falsch. Überprüfen Sie den Status des WSFC-Clusters, und überprüfen Sie den Netzwerknamen und die IP-Adresse mit dem Netzwerkadministrator.
Der Großteil der Zeit führt zu einem Fehler bei der Listenererstellung, der zu den vorherigen Nachrichten führt, aufgrund fehlender Berechtigungen für das Clustername-Objekt (Cluster Name Object, CNO) in Active Directory, um das Listenercomputerobjekt zu erstellen und zu lesen. Informationen zur Problembehandlung finden Sie in den folgenden Artikeln:
Falsche Konfiguration der maximalen Fehler im angegebenen Zeitraum ist eine der führenden Ursachen für primäre Fehler, die nicht automatisch auf die sekundäre. Der Standardwert für diese Einstellung ist N-1, wobei N die Anzahl der Replikate ist. Weitere Informationen finden Sie unter "Maximale Fehlergrenze für Failovercluster (Gruppe)".
Ich habe Probleme beim Herstellen einer Verbindung mit AlwaysOn-Verfügbarkeitsgruppen
Nachdem Sie den Verfügbarkeitsgruppenlistener für eine AlwaysOn-Verfügbarkeitsgruppe in SQL Server 2012 konfiguriert haben, können Sie den Listener möglicherweise nicht pingen oder über eine Anwendung eine Verbindung damit herstellen. Möglicherweise erhalten Sie einen Fehler, der den folgenden ähnelt:
Sqlcmd: Fehler: Microsoft SQL Native Client : Anmeldetimeout abgelaufen.
Gehen Sie wie folgt vor, um diese und ähnliche Fehler zu beheben:
Ich habe Probleme beim Konfigurieren von Always On-Verfügbarkeitsgruppen in meiner Azure-VM (IaaS)
Viele Probleme im Zusammenhang mit Always On treten aufgrund einer fehlerhaften Konfiguration des Listeners auf. Wenn Verbindungsprobleme mit dem Listener auftreten,
Stellen Sie sicher, dass Sie alle Einschränkungen des ILB-Listeners lesen und alle schritte befolgt haben, die im folgenden Artikel dokumentiert sind, wobei sie besonders auf abhängigkeitskonfiguration, IP-Adresse und verschiedene andere Parameter im PowerShell-Skript achten.
Wenn Sie nicht sicher sind, können Sie den Listener gemäß dem obigen Dokument löschen und neu erstellen.
Wenn Sie Ihren virtuellen Computer kürzlich in einen anderen Dienst verschoben haben oder die IP-Adressen geändert wurden, müssen Sie den Wert der IP-Adressressource aktualisieren, um die neue Adresse widerzuspiegeln, und Sie müssen den Lastenausgleichsendpunkt für Ihre AG neu erstellen. Sie können die IP-Adresse mit den Get folgenden Befehlen Set aktualisieren:
Es dauert lange, bis ein Failover von primär auf sekundär oder umgekehrt erfolgt.
Nach einem automatischen Failover oder einem geplanten manuellen Failover ohne Datenverlust für eine Verfügbarkeitsgruppe stellen Sie möglicherweise fest, dass die Failoverzeit Ihre Recovery Time Objective (RTO) überschritten hat. Informationen zur Problembehandlung der Ursachen und potenziellen Lösungen finden Sie unter "Problembehandlung: Verfügbarkeitsgruppe überschrittenE RTO".
Änderungen am primären Replikat werden entweder nicht angezeigt oder langsam in das sekundäre Replikat repliziert.
Möglicherweise stellen Sie fest, dass Änderungen am primären Replikat nicht zeitnah an sekundäre Replikate weitergegeben werden. Um diese Probleme zu beheben und zu beheben, versuchen Sie Folgendes:
Primäre oder sekundäre Server, die beim Auflösen des Zustands getroffen wurden oder unerwartete Failover auftreten
Überprüfen Sie System- und Anwendungsereignisprotokolle auf Hardwareprobleme und andere Fehler, und arbeiten Sie mit dem Anbieter zusammen, um sie zu beheben.
Wie konfigurieren Sie Warnungen für die Überprüfung, ob die sekundäre Verzögerung hinter dem primären liegt?
Sie können das folgende Skript verwenden:
SQL
SELECT ag.name AS ag_name, ar.replica_server_name AS ag_replica_server,
dr_state.database_id AS database_id,
is_ag_replica_local = CASEWHEN ar_state.is_local = 1THEN N'LOCAL'ELSE'REMOTE'END,
ag_replica_role = CASEWHEN ar_state.role_desc ISNULLTHEN N'DISCONNECTED'ELSE ar_state.role_desc
END,
dr_state.last_hardened_lsn, dr_state.last_hardened_time,
datediff(s,last_hardened_time, getdate()) AS'seconds behind primary'FROM (( sys.availability_groups AS ag
JOIN sys.availability_replicas AS ar
ON ag.group_id = ar.group_id)
JOIN sys.dm_hadr_availability_replica_states AS ar_state
ON ar.replica_id = ar_state.replica_id)
JOIN sys.dm_hadr_database_replica_states dr_state
ON ag.group_id = dr_state.group_id AND dr_state.replica_id = ar_state.replica_id
Wie wird benachrichtigt, wenn der Status der Datenbank nicht synchronisiert ist?
Sie können das folgende Skript verwenden:
SQL
SELECT ag.name AS ag_name, ar.replica_server_name AS ag_replica_server,
dr_state.database_id AS database_id,
is_ag_replica_local = CASEWHEN ar_state.is_local = 1THEN N'LOCAL'ELSE'REMOTE'END,
ag_replica_role = CASEWHEN ar_state.role_desc ISNULLTHEN N'DISCONNECTED'ELSE ar_state.role_desc
END,
ar_state.connected_state_desc, ar.availability_mode_desc, dr_state.synchronization_state_desc
FROM (( sys.availability_groups AS ag
JOIN sys.availability_replicas AS ar
ON ag.group_id = ar.group_id )
JOIN sys.dm_hadr_availability_replica_states AS ar_state
ON ar.replica_id = ar_state.replica_id)
JOIN sys.dm_hadr_database_replica_states dr_state
ON ag.group_id = dr_state.group_id AND dr_state.replica_id = ar_state.replica_id
Sie können auch die folgenden Links überprüfen, um weitere Methoden zum Überwachen von AlwaysOn-Gruppen zu erhalten:
Verwalten einer SQL Server-Datenbankinfrastruktur für Cloud-, lokale und hybride relationale Datenbanken auf Grundlage der Microsoft PaaS-Angebote für relationale Datenbanken.