Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Dit artikel bevat informatie over de volgende problemen:
- Basisstappen voor probleemoplossing
- Herstellen na een failover-clusterfout
- De meest voorkomende problemen met failoverclustering oplossen
- Uitgebreide opgeslagen procedures en COM-objecten gebruiken
Basisstappen voor probleemoplossing
De eerste diagnostische stap is het uitvoeren van een nieuwe clustervalidatiecontrole. Zie Een failovercluster maken voor meer informatie over validatie: De configuratie valideren. Dit kan zonder onderbreking van de service worden voltooid omdat dit geen invloed heeft op onlineclusterbronnen.
Validatie kan op elk gewenst moment worden uitgevoerd zodra de functie Failoverclustering is geïnstalleerd, inclusief voordat het cluster is geïmplementeerd, tijdens het maken van het cluster en terwijl het cluster wordt uitgevoerd. Er worden zelfs extra tests uitgevoerd zodra het cluster in gebruik is, waarmee wordt gecontroleerd of er best practices worden gevolgd voor maximaal beschikbare workloads. Tijdens deze tientallen tests hebben slechts enkele van deze tests invloed op het uitvoeren van clusterworkloads en deze bevinden zich allemaal binnen de opslagcategorie, dus het overslaan van deze hele categorie is een eenvoudige manier om verstorende tests te voorkomen.
Failoverclustering wordt geleverd met een ingebouwde beveiliging om onbedoelde downtime te voorkomen bij het uitvoeren van de opslagtests tijdens de validatie. Als het cluster onlinegroepen bevat wanneer de validatie wordt gestart en de opslagtests geselecteerd blijven, wordt de gebruiker gevraagd om bevestiging of ze alle tests willen uitvoeren (en uitvaltijd veroorzaken), of om het testen van de schijven van onlinegroepen over te slaan om downtime te voorkomen. Als de hele opslagcategorie niet is getest, wordt deze prompt niet weergegeven. Hierdoor is clustervalidatie zonder uitvaltijd mogelijk.
Het cluster opnieuwvalideren
Controleer in de module-invoegtoepassing Failovercluster in de consolestructuur of Failoverclusterbeheer is geselecteerd en selecteer vervolgens onder BeheerValideer een configuratie.
Volg de instructies in de wizard om de servers en de tests op te geven en voer de tests uit. De pagina Samenvatting wordt weergegeven nadat de tests zijn uitgevoerd.
Selecteer Rapport weergeven op de pagina Samenvatting om de testresultaten weer te geven.
Als u de resultaten van de tests wilt weergeven nadat u de wizard hebt gesloten, bekijkt
%SystemRoot%\Cluster\Reports\Validation Report date and time.htmlu waar%SystemRoot%de map is waarin het besturingssysteem is geïnstalleerd (bijvoorbeeldC:\Windows).Als u Help-artikelen wilt bekijken waarmee u de resultaten kunt interpreteren, selecteert u Meer informatie over clustervalidatietests.
Als u Help-artikelen over clustervalidatie wilt weergeven nadat u de wizard hebt gesloten, selecteert u Help in de module Failovercluster, selecteert u Help, selecteert u Help-onderwerpen, selecteert u het tabblad Inhoud , vouwt u de inhoud voor de Help van het failovercluster uit en selecteert u Valideren van een failoverclusterconfiguratie. Nadat de validatiewizard is voltooid, worden de resultaten weergegeven in het overzichtsrapport . Alle tests moeten worden doorgegeven met een groen vinkje of in sommige gevallen een gele driehoek (waarschuwing). Wanneer u op zoek bent naar probleemgebieden (rode xs of gele vraagtekens), selecteert u in het gedeelte van het rapport met een overzicht van de testresultaten een afzonderlijke test om de details te bekijken. Eventuele problemen met rode X moeten worden opgelost voordat u problemen met SQL Server kunt oplossen.
Updates installeren
Het installeren van updates is een belangrijk onderdeel van het voorkomen van problemen met uw systeem. Nuttige koppelingen:
- Aanbevolen hotfixes en updates voor failoverclusters op basis van Windows Server 2012 R2
- Aanbevolen hotfixes en updates voor failoverclusters op basis van Windows Server 2012
- Aanbevolen hotfixes en updates voor failoverclusters op basis van Windows Server 2008 R2
- Aanbevolen hotfixes en updates voor failoverclusters op basis van Windows Server 2008
Herstellen na failover-clusterfout
Meestal is een failoverclusterfout het resultaat van een van de twee oorzaken:
Hardwarefout in één knooppunt van een cluster met twee knooppunten. Deze hardwarefout kan worden veroorzaakt door een fout in de SCSI-kaart of in het besturingssysteem.
Als u wilt herstellen van deze fout, verwijdert u het mislukte knooppunt uit het failovercluster met behulp van het SQL Server-installatieprogramma, verhelpt u de hardwarefout met de computer offline, brengt u de computer terug en voegt u het herstelde knooppunt weer toe aan het failoverclusterexemplaren.
Zie Een nieuw Always On-failoverclusterexemplaar (Setup) maken en herstellen van een storing in een failoverclusterexemplaar voor meer informatie.
Besturingssysteemfout. In dit geval is het knooppunt offline, maar is het niet onherstelbaar verbroken.
Om te herstellen van een besturingssysteemfout, herstelt u het knooppunt en test u de failover. Als het SQL Server-exemplaar geen failover naar behoren uitvoert, moet u het INSTALLATIEprogramma van SQL Server gebruiken om SQL Server uit het failovercluster te verwijderen, noodzakelijke reparaties aan te brengen, de computer weer op te halen en vervolgens het herstelde knooppunt weer toe te voegen aan het failoverclusterexemplaren.
Het herstellen van een fout in het besturingssysteem kan op deze manier tijd in beslag nemen. Als de fout in het besturingssysteem eenvoudig kan worden hersteld, vermijdt u het gebruik van deze techniek.
Zie Een nieuw Always On-failoverclusterexemplaar (Setup) maken en herstellen van een storing in een failoverclusterexemplaar voor meer informatie.
Veelvoorkomende problemen oplossen
In de volgende lijst worden veelvoorkomende gebruiksproblemen beschreven en wordt uitgelegd hoe u deze kunt oplossen.
Probleem: Onjuist gebruik van de syntaxis van de opdrachtprompt om SQL Server te installeren
Probleem 1: Het is moeilijk om installatieproblemen vast te stellen bij het gebruik van de /qn schakeloptie vanaf de opdrachtprompt, omdat de /qn schakeloptie alle dialoogvensters en foutberichten onderdrukt. Als de /qn schakeloptie is opgegeven, worden alle installatieberichten, inclusief foutberichten, naar logboekbestanden van Setup geschreven. Zie Logboekbestanden van SQL Server-installatie weergeven en lezen voor meer informatie over logboekbestanden.
Resolutie 1: Gebruik de /qb schakelaar in plaats van de /qn switch. Als u de /qb switch gebruikt, wordt de basisgebruikersinterface in elke stap weergegeven, inclusief foutberichten.
Probleem: SQL Server kan geen verbinding maken met het netwerk nadat deze is gemigreerd naar een ander knooppunt
Probleem 1: SQL Server-serviceaccounts kunnen geen contact opnemen met een domeincontroller.
Oplossing 1: Controleer uw gebeurtenislogboeken op tekenen van netwerkproblemen, zoals adapterfouten of DNS-problemen. Controleer of u uw domeincontroller kunt pingen.
Probleem 2: Wachtwoorden voor SQL Server-serviceaccounts zijn niet identiek op alle clusterknooppunten of het knooppunt start geen SQL Server-service opnieuw op die is gemigreerd vanaf een mislukt knooppunt.
Oplossing 2: Wijzig de wachtwoorden van het SQL Server-serviceaccount met behulp van SQL Server Configuration Manager. Als u dat niet doet en u de wachtwoorden van het SQL Server-serviceaccount op het ene knooppunt wijzigt, moet u ook de wachtwoorden op alle andere knooppunten wijzigen. SQL Server Configuration Manager doet dit automatisch.
Probleem: SQL Server heeft geen toegang tot de clusterschijven
Probleem 1: Firmware of stuurprogramma's worden niet bijgewerkt op alle knooppunten.
Oplossing 1: Controleer of alle knooppunten de juiste firmwareversies en dezelfde stuurprogrammaversies gebruiken.
Probleem 2: Een knooppunt kan geen clusterschijven herstellen die zijn gemigreerd van een mislukt knooppunt op een gedeelde clusterschijf met een andere stationsletter.
Oplossing 2: Stationsaanduidingen voor de clusterschijven moeten op beide servers hetzelfde zijn. Als dit niet het is, controleert u de oorspronkelijke installatie van het besturingssysteem en Microsoft Cluster Service (MSCS).
Probleem: Fout bij een SQL Server-service veroorzaakt failover
Resolutie: Als u wilt voorkomen dat specifieke services een failover van de SQL Server-groep veroorzaken, configureert u deze services met clusterbeheerder in Windows als volgt:
- Schakel het selectievakje Groep beïnvloeden uit op het tabblad Geavanceerd van het dialoogvenster Eigenschappen voor volledige tekst . Als SQL Server echter een failover veroorzaakt, wordt de zoekservice voor volledige tekst opnieuw gestart.
Probleem: SQL Server wordt niet automatisch gestart
Resolutie: Gebruik Clusterbeheerder in MSCS om automatisch een failovercluster te starten. De SQL Server-service moet worden ingesteld om handmatig te starten; de clusterbeheerder moet worden geconfigureerd in MSCS om de SQL Server-service te starten. Zie Services beheren voor meer informatie.
Probleem: de netwerknaam is offline en u kunt geen verbinding maken met SQL Server via TCP/IP
Probleem 1: DNS faalt omdat de clusterresource is ingesteld om DNS te vereisen.
Oplossing 1: Corrigeer de DNS-problemen.
Probleem 2: Er bevindt zich een dubbele naam in het netwerk.
Oplossing 2: Gebruik nbtstat om de dubbele naam te vinden en corrigeer het probleem.
Probleem 3: SQL Server maakt geen verbinding met named pipes.
Oplossing 3: Als u verbinding wilt maken met named pipes, maakt u een alias met behulp van SQL Server Configuration Manager om verbinding te maken met de juiste computer. Als u bijvoorbeeld een cluster hebt met twee knooppunten (Node A en Node B) en een exemplaar van een failovercluster (Virtsql) met een standaardexemplaren, kunt u verbinding maken met de server met de netwerknaamresource offline met behulp van de volgende stappen:
Bepaal op welk knooppunt de groep met het exemplaar van SQL Server wordt uitgevoerd met behulp van de clusterbeheerder. In dit voorbeeld is het Knooppunt A.
Start de SQL Server-service op die computer gebruik net start. Zie Sql Server handmatig starten voor meer informatie over het gebruik van net start.
Start SQL Server Configuration Manager op knooppunt A. Bekijk de pijpnaam waarop de server luistert. Het moet vergelijkbaar zijn met
\\.\$$\VIRTSQL\pipe\sql\query.Start de SQL Server Configuration Manager op de clientcomputer.
Maak een alias
SQLTEST1om via Named Pipes verbinding te maken met deze pijpnaam. Hiervoor voert u Node A in als de servernaam en bewerkt u de naam van de pipe.\\.\pipe\$$\VIRTSQL\sql\queryMaak verbinding met dit exemplaar met behulp van de alias
SQLTEST1als servernaam.
Probleem: het instellen van SQL Server mislukt op een cluster met fout 11001
Probleem: Een weesregistersleutel in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.X\Cluster.
Resolutie: Zorg ervoor dat de MSSQL.X register-hive momenteel niet wordt gebruikt en verwijder vervolgens de clustersleutel.
Probleem: Fout bij het instellen van het cluster: 'Het installatieprogramma heeft onvoldoende bevoegdheden voor toegang tot deze map: <station>\Microsoft SQL Server. De installatie kan niet worden voortgezet. Meld u aan als beheerder of neem contact op met uw systeembeheerder"
Uitgeven: Deze fout wordt veroorzaakt door een gedeeld SCSI-station dat niet correct is gepartitioneerd.
Resolutie: Maak één partitie op de gedeelde schijf opnieuw met behulp van de volgende stappen:
- Verwijder de schijfresource uit het cluster.
- Verwijder alle partities op de schijf.
- Controleer in de schijfeigenschappen of de schijf een basisschijf is.
- Maak één partitie op de gedeelde schijf, maak de schijf op en wijs een stationsletter toe aan de schijf.
- Voeg de schijf toe aan het cluster met clusterbeheerder (cluadmin).
- Voer SQL Server Setup uit.
Probleem: toepassingen kunnen SQL Server-resources niet registreren in een gedistribueerde transactie
Uitgeven: Omdat de Microsoft Distributed Transaction Coordinator (MS DTC) niet volledig is geconfigureerd in Windows, kunnen toepassingen SQL Server-resources in een gedistribueerde transactie niet inschakelen. Dit probleem kan van invloed zijn op gekoppelde servers, gedistribueerde query's en externe opgeslagen procedures die gebruikmaken van gedistribueerde transacties. Zie Voordat u failoverclustering installeert voor meer informatie over het configureren van MS DTC.
Resolutie: Om dergelijke problemen te voorkomen, moet u MS DTC-services volledig inschakelen op de servers waarop SQL Server is geïnstalleerd en MS DTC is geconfigureerd.
Gebruik de volgende stappen om MS DTC volledig in te schakelen:
Open beheerprogramma's in het Configuratiescherm en open Computerbeheer.
Vouw services en toepassingen uit in het linkerdeelvenster van Computerbeheer en selecteer Vervolgens Services.
Klik in het rechterdeelvenster van Computerbeheer met de rechtermuisknop op Gedistribueerde transactiecoördinator en selecteer Eigenschappen.
Selecteer in het venster Gedistribueerde transactiecoördinator het tabblad Algemeen en selecteer vervolgens Stoppen om de service te stoppen.
Selecteer in het venster Gedistribueerde transactiecoördinator het tabblad Aanmelden en stel het aanmeldingsaccount
NT AUTHORITY\NetworkServicein.Selecteer Toepassen en OK om het venster Gedistribueerde transactiecoördinator te sluiten. Sluit het venster Computerbeheer . Sluit het venster Systeembeheer .
Probleem: SQL Server Agent kan geen verbinding maken met een multi-subnet failover cluster instance op een aangepaste poort
Probleem: SQL Server Agent kan geen verbinding maken met de lokale Database Engine als alle volgende voorwaarden waar zijn:
- SQL Server wordt geïnstalleerd als een multi-subnet-failoverclusterexemplaar.
- De failover-clusterinstantie is een standaardinstantie.
- De Database Engine luistert op een vaste TCP-poort anders dan de standaard 1433.
- SQL Server Agent maakt tijdens het opstarten verbinding met de lokale instantie.
Voor een multi-subnet failover cluster-instantie gebruikt de eerste verbinding van SQL Server Agent MultiSubnetFailover=Yes. Deze instelling zorgt ervoor dat de client TCP gebruikt. De verbinding valt niet terug op gedeeld geheugen of benoemde pipes. Wanneer het doel dat is (local) en er geen poort is opgegeven, probeert de verbinding TCP-poort 1433 te bereiken. De verbinding mislukt als de Database Engine niet op die poort luistert.
Je kunt een verband zien dat lijkt op de volgende in een ODBC-trace:
DRIVER=ODBC Driver 17 for SQL Server;SERVER=(local);APP=SQLAgent - Initial Boot Probe;DATABASE=master;MultiSubnetFailover=YES;
Oplossing: Maak een TCP-alias aan die de verbinding van de SQL Server Agent naar de virtuele netwerknaam en de geconfigureerde TCP-poort van de failover-clusterinstantie stuurt. Configureer de alias op elke node die de failover-cluster instantie kan hosten.
Stap 1: Bevestig de geconfigureerde TCP-poort
- Open op de actieve node SQL Server Configuration Manager.
- Vouw SQL Server Network Configuration uit en selecteer vervolgens Protocols voor MSSQLSERVER.
- Open TCP/IP en selecteer dan het tabblad IP-adressen .
- Als Listen All op Ja staat, noteer dan de waarde van de TCP-poort onder IPAll.
- Als Listen All op Nee staat, noteer dan de TCP-poortwaarde voor elk ingeschakeld IP-adres dat door de failover-clusterinstantie wordt gebruikt.
- Controleer of het SQL Server-foutenlogboek aangeeft dat de Database Engine op de verwachte poort luistert.
Zie SQL Server configureren om te luisteren op een specifieke TCP-poort voor meer informatie.
Stap 2: Maak de TCP-alias aan op elke clusterknoop
Voltooi deze stappen op elke node die de failover-clusterinstantie kan hosten:
- Open de SQL Server client alias configuratietool die van toepassing is op de geïnstalleerde SQL Server-versie.
- Maak een nieuwe alias aan.
- Voer in Alias Name een unieke naam in voor de lokale SQL Server Agent-verbinding. Gebruik dezelfde aliasnaam op elke node.
- Selecteer TCP/IP als protocol.
- In Server voer je de virtuele netwerknaam van de failover-clusterinstantie in. Voer de naam van de fysieke knoop niet in.
- In Port No voer je de vaste TCP-poort in die in stap 1 is geïdentificeerd.
- Bewaar de alias.
Voor gedetailleerde instructies en versievereisten, zie Een serveralias maken of verwijderen voor gebruik door een clienttoepassing.
Important
Een SQL Server-alias is een clientconfiguratie. Maak een identiek alias aan op elke node die eigenaar kan zijn van de failover-clusterinstantie. Anders kan de SQL Server Agent falen nadat de instantie naar een node is verplaatst waar de alias niet is geconfigureerd.
Stap 3: Configureer SQL Server Agent om de alias te gebruiken
- In SQL Server Management Studio maakt je verbinding met de failover-cluster instance.
- In Objectverkenner vergroot je de instantie.
- Klik met de rechtermuisknop op SQL Server Agent en selecteer vervolgens Eigenschappen.
- Selecteer onder Een pagina selecterenVerbinding.
- Voer in Alias lokale hostserver de aliasnaam in die in stap 2 is aangemaakt.
- Klik op OK.
- Start SQL Server Agent opnieuw.
Voor meer informatie, zie Set a SQL Server alias voor de SQL Server Agent-service.
Stap 4: Controleer de configuratie
- Bevestig dat de SQL Server Agent succesvol opstart.
- Bekijk het log van de SQL Server Agent en bevestig dat de Agent verbinding heeft gemaakt met de bedoelde lokale Database Engine-instantie.
- Voer een eenvoudige SQL Server Agent-taak uit om te bevestigen dat jobs met de instantie kunnen verbinden.
- Op een moment dat het normale bedrijfsactiviteiten niet zou verstoren, verplaats de failover-clusterinstantie naar een andere mogelijke eigenaar-node.
- Bevestig dat de SQL Server Agent start en dat de testtaak slaagt op die node.
- Herhaal de test voor elke mogelijke eigenaar-node.
Uitgebreide opgeslagen procedures en COM-objecten gebruiken
Wanneer u uitgebreide opgeslagen procedures gebruikt met een failoverclusterconfiguratie, moeten alle uitgebreide opgeslagen procedures worden geïnstalleerd op een sql Server-afhankelijke clusterschijf. Dit zorgt ervoor dat wanneer een knooppunt een failover uitvoert, de uitgebreide opgeslagen procedures nog steeds kunnen worden gebruikt.
Als de uitgebreide opgeslagen procedures COM-onderdelen gebruiken, moet de beheerder de COM-onderdelen registreren op elk knooppunt van het cluster. De informatie voor het laden en uitvoeren van COM-onderdelen moet zich in het register van het actieve knooppunt bevindt om de onderdelen te kunnen maken. Anders blijft de informatie in het register van de computer waarop de COM-onderdelen voor het eerst zijn geregistreerd.