Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Dieser Artikel enthält Informationen zu den folgenden Problemen:
- Grundlegende Schritte zur Problembehandlung
- Wiederherstellung nach einem Failover-Cluster-Fehler
- Beheben der häufigsten Failover-Clustering-Probleme
- Verwenden erweiterter gespeicherter Prozeduren und COM-Objekte
Grundlegende Schritte zur Problembehandlung
Als erster Schritt für die Diagnose sollte eine neue Überprüfung der Clustervalidierung ausgeführt werden. Weitere Informationen zur Überprüfung finden Sie unter Erstellen eines Failoverclusters: Überprüfen der Konfiguration. Dies kann ohne Unterbrechung des Diensts abgeschlossen werden, da sie sich nicht auf Onlineclusterressourcen auswirkt.
Die Validierung kann jederzeit ausgeführt werden, sobald die Failoverclustering-Funktion installiert wurde, auch vor der Clusterbereitstellung, während der Clustererstellung oder -ausführung. Tatsächlich werden zusätzliche Tests ausgeführt, sobald der Cluster verwendet wird, wodurch überprüft wird, ob bewährte Methoden für hoch verfügbare Workloads befolgt werden. In diesen Dutzenden von Tests wirken sich nur einige davon auf das Ausführen von Clusterworkloads aus, und dies sind alle innerhalb der Speicherkategorie, sodass das Überspringen dieser gesamten Kategorie eine einfache Möglichkeit ist, störende Tests zu vermeiden.
Das Failover-Clustering bietet einen integrierten Schutz, um versehentliche Ausfallzeiten beim Ausführen der Speichertests während der Validierung zu verhindern. Wenn der Cluster Onlinegruppen enthält und bei der Initiierung der Überprüfung die Speichertests ausgewählt bleiben, wird der Benutzer dazu aufgefordert zu bestätigen, ob er alle Tests ausführen möchte (und Ausfallzeiten verursachen soll), oder die Datenträgertests aller Onlinegruppen zu überspringen, um Ausfallzeiten zu verhindern. Wenn die gesamte Speicherkategorie nicht getestet werden konnte, wird diese Eingabeaufforderung nicht angezeigt. Dies ermöglicht die Clusterüberprüfung ohne Ausfallzeiten.
So validieren Sie Ihren Cluster erneut
Stellen Sie im Failovercluster-Snap-In in der Konsolenstruktur sicher, dass die Failoverclusterverwaltung ausgewählt ist, und wählen Sie dann unter "Verwaltung" die Option "Konfiguration überprüfen" aus.
Befolgen Sie die Anleitung im Assistenten, um die Server und Tests anzugeben und die Tests auszuführen. Die Seite Zusammenfassung wird angezeigt, nachdem die Tests ausgeführt wurden.
Wählen Sie auf der Seite "Zusammenfassung " die Option "Bericht anzeigen " aus, um die Testergebnisse anzuzeigen.
Um die Ergebnisse der Tests anzuzeigen, nachdem Sie den Assistenten geschlossen haben, finden Sie
%SystemRoot%\Cluster\Reports\Validation Report date and time.html, wobei%SystemRoot%der Ordner ist, in dem das Betriebssystem installiert ist (z. B.C:\Windows).Wenn Sie Hilfeartikel anzeigen möchten, mit denen Sie die Ergebnisse interpretieren können, wählen Sie "Weitere Informationen zu Clusterüberprüfungstests" aus.
Um Hilfeartikel zur Clusterüberprüfung anzuzeigen, nachdem Sie den Assistenten geschlossen haben, wählen Sie im Failovercluster-Snap-In "Hilfe" die Option "Hilfe" aus, wählen Sie "Hilfethemen" aus, wählen Sie die Registerkarte "Inhalt " aus, erweitern Sie den Inhalt für die Failoverclusterhilfe, und wählen Sie " Überprüfen einer Failoverclusterkonfiguration" aus. Nach Abschluss des Validierungsassistenten werden die Ergebnisse im Zusammenfassungsbericht angezeigt. Alle Tests müssen entweder mit einem grünen Häkchen oder in einigen Fällen mit einem gelben Dreieck (Warnung) bestanden werden. Wenn Sie nach Problembereichen (rote Xs oder gelbe Fragezeichen) suchen, wählen Sie im Teil des Berichts, in dem die Testergebnisse zusammengefasst sind, einen einzelnen Test aus, um die Details zu überprüfen. Alle roten X-Probleme müssen behoben werden, bevor SQL Server-Probleme behoben werden.
Installieren von Updates
Das Installieren von Updates stellt einen wichtigen Teil der Vermeidung von Problemen mit Ihrem System dar. Hilfreiche Links:
- Empfohlene Hotfixes und Updates für Windows Server 2012 R2-basierte Failovercluster
- Empfohlene Hotfixes und Updates für Windows Server 2012-basierte Failovercluster
- Empfohlene Hotfixes und Updates für Windows Server 2008 R2-basierte Failovercluster
- Empfohlene Hotfixes und Updates für Windows Server 2008-basierte Failovercluster
Wiederherstellen nach einem Failover-Cluster-Ausfall
In der Regel ist ein Failoverclusterfehler auf eine von zwei Ursachen zurückzuführen:
Hardwarefehler in einem Knoten eines Zwei-Knoten-Clusters. Die Ursache für diesen Hardwarefehler könnte beispielsweise ein Fehler auf der SCSI-Karte oder im Betriebssystem sein.
Zum Beheben dieses Fehlers entfernen Sie den fehlerhaften Knoten mithilfe des SQL Server -Setupprogramms vom Failovercluster, behandeln Sie den Hardwarefehler, während der Computer offline ist, fahren Sie den Computer wieder hoch, und fügen Sie dann der Failoverclusterinstanz den reparierten Knoten wieder hinzu.
Weitere Informationen finden Sie unter Erstellen Sie eine neue Always On-Failover-Clusterinstanz (Setup) und Wiederherstellen nach einem Failover-Clusterinstanzfehler.
Betriebssystemfehler. In diesem Fall ist der Knoten offline, aber nicht unwiderruflich beschädigt.
Um eine Wiederherstellung nach einem Betriebssystemfehler durchzuführen, stellen Sie den Knoten wieder her, und testen Sie das Failover. Wenn die SQL Server-Instanz nicht ordnungsgemäß fehlschlägt, müssen Sie das SQL Server-Setupprogramm verwenden, um SQL Server aus dem Failovercluster zu entfernen, erforderliche Reparaturen vorzunehmen, den Computer sichern und dann den reparierten Knoten wieder zur Failoverclusterinstanz hinzufügen.
Das Wiederherstellen nach einem Betriebssystemfehler auf diese Art kann Zeit kosten. Falls die Wiederherstellung nach dem Betriebssystemfehler problemlos möglich ist, sollten Sie dieses Verfahren vermeiden.
Weitere Informationen finden Sie unter Erstellen Sie eine neue Always On-Failover-Clusterinstanz (Setup) und Wiederherstellen nach einem Failover-Clusterinstanzfehler.
Beheben häufig auftretender Probleme
In der folgenden Liste werden häufig auftretende Probleme bei der Verwendung sowie deren Behebung beschrieben.
Problem: Falsche Verwendung der Eingabeaufforderungssyntax für die Installation von SQL Server
Problem 1: Es ist schwierig, Setupprobleme beim Verwenden des Schalters /qn über die Eingabeaufforderung zu diagnostizieren, da der Schalter /qn alle Setup-Dialogfelder und Fehlermeldungen unterdrückt. Wenn der /qn Switch angegeben ist, werden alle Setupmeldungen, einschließlich Fehlermeldungen, in Setupprotokolldateien geschrieben. Weitere Informationen zu Protokolldateien finden Sie unter Anzeigen und Lesen von SQL Server-Setupprotokolldateien.
Auflösung 1: Verwenden Sie den /qb Schalter anstelle des /qn Schalters. Wenn Sie den /qb Schalter verwenden, wird die grundlegende Benutzeroberfläche in jedem Schritt angezeigt, einschließlich Fehlermeldungen.
Problem: SQL Server kann nach der Migration zu einem anderen Knoten keine Verbindung mit dem Netzwerk herstellen.
Problem 1: SQL Server-Dienstkonten können keinen Kontakt mit einem Domänencontroller herstellen.
Lösung 1: Überprüfen Sie die Ereignisprotokolle in Hinblick auf Netzwerkprobleme wie Adapterfehler oder DNS-Probleme. Überprüfen Sie, ob Sie Ihren Domänencontroller pingen können.
Problem 2: SQL Server-Dienstkonto-Kennwörter sind auf allen Clusterknoten nicht identisch, oder der Knoten startet keinen SQL Server-Dienst, der von einem fehlgeschlagenen Knoten migriert wurde.
Lösung 2: Ändern Sie die SQL Server-Dienstkontokennwörter mithilfe von SQL Server-Configuration Manager. Wenn Sie die Kennwörter für das SQL Server-Dienstkonto nicht auf einem Knoten ändern, müssen Sie auch die Kennwörter auf allen anderen Knoten ändern. SQL Server-Konfigurations-Manager übernimmt dies automatisch.
Problem: SQL Server kann nicht auf die Clusterdatenträger zugreifen
Problem 1: Firmware oder Treiber werden nicht auf allen Knoten aktualisiert.
Lösung 1: Überprüfen Sie, ob alle Knoten die richtigen Firmwareversionen und die gleichen Treiberversionen verwenden.
Problem 2: Ein Knoten kann keine Clusterdatenträger wiederherstellen, die von einem fehlerhaften Knoten auf einem freigegebenen Clusterdatenträger mit einem anderen Laufwerkbuchstaben migriert wurden.
Lösung 2: Die Laufwerkbuchstaben für die Clusterdatenträger müssen auf beiden Servern identisch sein. Falls nicht, überprüfen Sie Ihre ursprüngliche Installation des Betriebssystems und des Microsoft Cluster Service.
Problem: Ein Fehler eines SQL Server-Dienstes verursacht ein Failover
Lösung: Um zu verhindern, dass der Fehler bestimmter Dienste zu einem Failover der SQL Server -Gruppe führt, konfigurieren Sie diese Dienste mithilfe der Clusterverwaltung unter Windows wie folgt:
- Deaktivieren Sie im Dialogfeld Volltexteigenschaften auf der Registerkarte Erweitert das Kontrollkästchen Die Gruppe beeinflussen . Wenn SQL Server allerdings ein Failover verursacht, wird die Volltextsuche erneut gestartet.
Problem: SQL Server wird nicht automatisch gestartet
Lösung: Verwenden Sie die Clusterverwaltung unter MSCS, um automatisch einen Failovercluster zu starten. Der SQL Server -Dienst sollte auf manuelles Starten festgelegt werden, und die Clusterverwaltung sollte in MSCS zum Starten des SQL Server -Diensts konfiguriert werden. Weitere Informationen finden Sie unter Verwalten von Diensten.
Problem: Der Netzwerkname ist offline und Sie können keine Verbindung mit SQL Server mithilfe von TCP/IP herstellen.
Problem 1: DNS schlägt fehl, wenn die Clusterressource so konfiguriert ist, dass DNS erforderlich ist.
Lösung 1: Beheben Sie die DNS-Probleme.
Problem 2: Im Netzwerk ist ein Name doppelt vorhanden.
Auflösung 2: Verwenden Sie nbtstat , um den doppelten Namen zu finden und dann das Problem zu beheben.
Problem 3: SQL Server stellt keine Verbindung mithilfe von Named Pipes her.
Lösung 3: Erstellen Sie mit dem SQL Server-Konfigurations-Manager einen Alias, der eine Verbindung mit dem entsprechenden Computer herstellt, um eine Verbindung mithilfe von Named Pipes herzustellen. Wenn Sie beispielsweise über einen Cluster mit zwei Knoten (Knoten A und Knoten B) und eine Failoverclusterinstanz (Virtsql) mit einer Standardinstanz verfügen, können Sie die Verbindung mit dem Server, dessen Netzwerknamenressource offline ist, wie folgt herstellen:
Ermitteln Sie mithilfe der Clusterverwaltung den Knoten, auf dem die Gruppe mit der Instanz von SQL Server ausgeführt wird. In diesem Beispiel handelt es sich um Knoten A.
Starten Sie den SQL Server -Dienst auf diesem Computer mithilfe von net start. Weitere Informationen zum Verwenden von net startfinden Sie unter Manuelles Starten von SQL Server.
Starten Sie den SQL ServerSQL Server-Konfigurations-Manager auf Knoten A. Zeigen Sie den Pipenamen an, der vom Server überwacht wird. Es sollte ähnlich sein wie
\\.\$$\VIRTSQL\pipe\sql\query.Starten Sie den SQL Server-Konfigurations-Manager auf dem Clientcomputer.
Erstellen Sie einen Alias
SQLTEST1, um eine Verbindung über Named Pipes mit diesem Pipenamen herzustellen. Geben Sie dazu Knoten A als Servernamen ein, und bearbeiten Sie den zu verwendenden Pipenamen\\.\pipe\$$\VIRTSQL\sql\query.Stellen Sie eine Verbindung mit dieser Instanz her, indem Sie den Alias
SQLTEST1als Servernamen verwenden.
Problem: SQL Server Setup schlägt bei einem Cluster mit Fehler 11001 fehl
Problem: Ein verwaister Registrierungsschlüssel in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.X\Cluster.
Lösung: Stellen Sie sicher, dass die MSSQL.X Registrierungshive derzeit nicht verwendet wird, und löschen Sie dann den Cluster-Schlüssel.
Problem: Fehler beim Clustersetup: „Der Installer besitzt keine ausreichenden Berechtigungen, um auf dieses Verzeichnis zuzugreifen: <Laufwerk>\Microsoft SQL Server. Die Installation kann nicht fortgesetzt werden. Melden Sie sich als Administrator an, oder wenden Sie sich an Ihren Systemadministrator"
Problem: Dieser Fehler wird durch ein SCSI-Freigabelaufwerk verursacht, das nicht ordnungsgemäß partitioniert ist.
Auflösung: Erstellen Sie eine einzelne Partition auf dem freigegebenen Datenträger mit den folgenden Schritten neu:
- Löschen Sie die Datenträgerressource vom Cluster.
- Löschen Sie alle Partitionen vom Datenträger.
- Überprüfen Sie in den Datenträgereigenschaften, ob es sich um einen Basisdatenträger handelt.
- Erstellen Sie auf dem freigegebenen Datenträger eine Partition, formatieren Sie den Datenträger, und weisen Sie ihm einen Laufwerkbuchstaben zu.
- Fügen Sie den Datenträger mithilfe der Clusterverwaltung (cluadmin) dem Cluster hinzu.
- Führen Sie SQL Server Setup aus.
Problem: SQL Server-Ressourcen werden von den Anwendungen nicht in eine verteilte Transaktion eingetragen
Problem: Da der Microsoft Distributed Transaction Coordinator (MS DTC) in Windows nicht vollständig konfiguriert ist, können Anwendungen SQL Server-Ressourcen in einer verteilten Transaktion möglicherweise nicht registrieren. Dieses Problem kann sich auf verknüpfte Server, verteilte Abfragen und remote gespeicherte Prozeduren auswirken, die verteilte Transaktionen verwenden. Weitere Informationen zum Konfigurieren von MS DTC finden Sie unter Vor dem Installieren des Failoverclusterings.
Lösung: Die MS DTC-Dienste müssen auf den Servern vollständig aktiviert werden, auf denen SQL Server installiert und MS DTC konfiguriert ist, um solchen Problemen vorzubeugen.
Führen Sie die folgenden Schritte aus, um MS DTC vollständig zu aktivieren:
Öffnen Sie in der Systemsteuerung die Option Verwaltung, und öffnen Sie dann Computerverwaltung.
Erweitern Sie im linken Bereich der Computerverwaltung Dienste und Anwendungen, und wählen Sie dann "Dienste" aus.
Klicken Sie im rechten Bereich der Computerverwaltung mit der rechten Maustaste auf Distributed Transaction Coordinator, und wählen Sie Eigenschaftenaus.
Wählen Sie im Fenster "Verteilte Transaktionskoordinator " die Registerkarte " Allgemein " und dann " Beenden " aus, um den Dienst zu beenden.
Wählen Sie im Fenster "Verteilte Transaktionskoordinator " die Registerkarte "Anmeldung " aus, und legen Sie das Anmeldekonto
NT AUTHORITY\NetworkServicefest.Wählen Sie Übernehmen und OK aus, um das Fenster Distributed Transaction Coordinator zu schließen. Schließen Sie das Fenster Computerverwaltung . Schließen Sie das Fenster Verwaltung .
Problem: Der SQL Server-Agent kann sich nicht mit einer Multi-Subnet-Failover-Cluster-Instanz auf einem benutzerdefinierten Port verbinden
Problem: Der SQL Server-Agent kann sich nicht mit der lokalen Datenbank-Engine verbinden, wenn alle folgenden Bedingungen erfüllt sind:
- SQL Server wird als Multi-Subnet-Failover-Cluster-Instanz installiert.
- Die Failover-Cluster-Instanz ist eine Standardinstanz.
- Die Datenbank-Engine lauscht auf einem festen TCP-Port, der sich vom Standardport 1433 unterscheidet.
- Der SQL Server-Agent verbindet sich während des Starts mit der lokalen Instanz.
Für eine Failoverclusterinstanz mit mehreren Subnetzen verwendet die anfängliche SQL Server-Agent-Verbindung MultiSubnetFailover=Yes. Diese Einstellung bewirkt, dass der Client TCP verwendet. Die Verbindung fällt nicht auf gemeinsamen Speicher oder benannte Pipes zurück. Wenn das Ziel (local) ist und kein Port angegeben ist, wird versucht, eine Verbindung über TCP-Port 1433 herzustellen. Die Verbindung schlägt ab, wenn die Datenbank-Engine an diesem Port nicht mithört.
Sie könnten eine ähnliche Verbindung in einem ODBC-Trace sehen:
DRIVER=ODBC Driver 17 for SQL Server;SERVER=(local);APP=SQLAgent - Initial Boot Probe;DATABASE=master;MultiSubnetFailover=YES;
Lösung: Erstellen Sie ein TCP-Alias, das die Verbindung des SQL Server-Agent auf den virtuellen Netzwerknamen und den konfigurierten TCP-Port der Failover-Cluster-Instanz leitet. Konfigurieren Sie das Alias auf jedem Knoten, der die Failover-Cluster-Instanz hosten kann.
Schritt 1: Bestätigen Sie den konfigurierten TCP-Port
- Auf dem aktiven Knoten öffnen Sie den SQL Server-Konfigurations-Manager.
- Erweitern Sie die SQL Server-Netzwerkkonfiguration und wählen Sie dann Protokolle für MSSQLSERVER.
- Öffne TCP/IP und wähle dann den Reiter IP-Adressen aus.
- Wenn Listen All auf Ja gesetzt ist, beachten Sie den Wert des TCP-Ports unter IPAll.
- Wenn Listen All auf Nein gesetzt ist, notieren Sie den TCP-Portwert für jede aktivierte IP-Adresse, die von der Failover-Cluster-Instanz verwendet wird.
- Bestätigen Sie, dass das SQL Server-Fehlerprotokoll anzeigt, dass die Datenbank-Engine auf dem erwarteten Port lauscht.
Weitere Informationen finden Sie unter Konfigurieren eines Servers zur Überwachung eines bestimmten TCP-Ports.
Schritt 2: Erstellen Sie den TCP-Alias auf jedem Clusterknoten
Führen Sie diese Schritte auf jedem Knoten durch, der die Failover-Cluster-Instanz hosten kann:
- Öffnen Sie das SQL Server-Client-Alias-Konfigurationstool, das für die installierte SQL Server-Version gilt.
- Erstelle ein neues Alias.
- Im Alias-Namen geben Sie einen eindeutigen Namen für die lokale SQL Server-Agent-Verbindung ein. Verwenden Sie denselben Aliasnamen auf jedem Knoten.
- Wählen Sie TCP/IP als Protokoll aus.
- In Server geben Sie den virtuellen Netzwerknamen der Failover-Cluster-Instanz ein. Gib den Namen des physischen Knotens nicht ein.
- In Port Nr. geben Sie den festen TCP-Port ein, der in Schritt 1 identifiziert wurde.
- Speichern Sie das Alias.
Für detaillierte Anweisungen und Versionsanforderungen siehe Erstellen oder löschen Sie ein Serveralias für die Nutzung durch einen Client.
Important
Ein SQL Server-Alias ist eine Client-Konfiguration. Erstelle auf jedem Knoten, der die Failover-Cluster-Instanz besitzen kann, ein identisches Alias. Andernfalls könnte der SQL Server-Agent ausfallen, nachdem die Instanz zu einem Knoten wechselt, bei dem das Alias nicht konfiguriert ist.
Schritt 3: Konfigurieren Sie den SQL Server-Agent so, dass er das Alias verwendet
- Im SQL Server Management Studio verbinden Sie sich mit der Failover-Cluster-Instanz.
- Im Objekt-Explorer erweitern Sie die Instanz.
- Klicken Sie mit der rechten Maustaste auf SQL Server-Agent, und wählen Sie dann Eigenschaften aus.
- Wählen Sie unter „Seite auswählen“ die Option „Verbindung“ aus.
- Im lokalen Hostserver von Alias geben Sie den in Schritt 2 erstellten Alias-Namen ein.
- Wählen Sie OK aus.
- Starten Sie den SQL Server-Agent neu.
Weitere Informationen finden Sie unter Set a SQL Server alias for the SQL Server-Agent Service.
Schritt 4: Validiere die Konfiguration
- Bestätigen Sie, dass der SQL Server-Agent erfolgreich startet.
- Überprüfen Sie das SQL Server-Agent-Logbuch und bestätigen, dass der Agent mit der vorgesehenen lokalen Datenbank-Engine-Instanz verbunden ist.
- Führe einen einfachen SQL Server-Agent-Job aus, um zu bestätigen, dass Jobs sich mit der Instanz verbinden können.
- Zu einem Zeitpunkt, an dem es normale Geschäftsaktivitäten nicht stören würde, verlagern Sie die Failover-Cluster-Instanz auf einen anderen möglichen Eigentümer-Knoten.
- Bestätigen Sie, dass der SQL Server-Agent startet und der Testjob auf diesem Knoten erfolgreich ist.
- Wiederholen Sie den Test für jeden möglichen Besitzknoten.
Verwenden erweiterter gespeicherter Prozeduren und COM-Objekte
Wenn Sie erweiterte gespeicherte Prozeduren in einer Failoverclusteringkonfiguration verwenden, müssen alle erweiterten gespeicherten Prozeduren auf einem Clusterdatenträger installiert werden, von dem SQL Server abhängig ist. Dadurch wird sichergestellt, dass beim Failover eines Knotens die erweiterten gespeicherten Prozeduren weiterhin verwendet werden können.
Wenn die erweiterten gespeicherten Prozeduren COM-Komponenten verwenden, muss der Systemadministrator die COM-Komponenten auf jedem Knoten des Clusters registrieren. Die Informationen zum Laden und Ausführen von COM-Komponenten müssen in der Registrierung des aktiven Knotens vorhanden sein, damit die Komponenten erstellt werden. Andernfalls verbleiben die Informationen in der Registrierung des Computers, auf dem die COM-Komponenten zuerst registriert wurden.