Delen via


Een AlwaysOn-beschikbaarheidsgroep configureren om een failover uit te voeren wanneer het databasegegevensbestand niet beschikbaar is

Samenvatting

In een SQL Server AlwaysOn-beschikbaarheidsgroep kan statusdetectie op databaseniveau alleen een failover uitvoeren als de fout (schijffout of vergelijkbaar) optreedt in het transactielogboek van de database.

Als de fout optreedt in het gegevensbestand, stuurt SQL Server alleen de foutmelding naar een Windows Server Failover Cluster (WSFC) en is het afhankelijk van het maken van de juiste beslissing op basis van beleidsconfiguratie.

Als u een AlwaysOn-beschikbaarheidsgroep wilt configureren om een failover uit te voeren wanneer fouten 823 en andere optreden, gebruikt u een van de volgende procedures:

Failoverclusterbeheer configureren

Met deze procedure stelt u het WSFC-beleid in om een failover naar een van de mogelijke eigenaren te veroorzaken in plaats van de rol opnieuw te starten op het huidige primaire knooppunt.

  1. Open Failoverclusterbeheer.

  2. Vouw uw cluster uit en selecteer Rollen.

  3. Klik met de rechtermuisknop op de ag-rol en selecteer Eigenschappenbeleid>.

  4. Stel de waarde van Maximum opnieuw opstarten in de opgegeven periode in op 0.

  5. Schakel het selectievakje in als alle pogingen tot opnieuw opstarten mislukken, start u opnieuw op na de opgegeven periode (uu:mm) en selecteert u OK.

  6. Zorg ervoor dat beide knooppunten mogelijke eigenaren en voorkeurseigenaren zijn.

Aangepaste configuratieoptie

Deze procedure bevat een voorbeeld van het gebruik van het beschikbare waarschuwingsmechanisme in SQL Server en SQL Server Agent om de fout te detecteren en een failover uit te voeren.

  1. Vouw in SQL Server Management Studio SQL Server Agent uit, klik met de rechtermuisknop op Waarschuwingen en selecteer Nieuwe waarschuwing....

  2. Geef een waarde op voor Naam, selecteer een SQL Server-gebeurteniswaarschuwing voor Type, geef de waarde van foutnummer op tot 823 of een andere gewenste fout volgens de lijst en selecteer VERVOLGENS OK.

  3. Selecteer Antwoord, schakel de taak Uitvoeren in, selecteer de gewenste taak en selecteer VERVOLGENS OK.

  4. Geef in het dialoogvenster Eigenschappen van taakstap een waarde op voor stapnaam, selecteer besturingssysteem (CmdExec) als type en selecteer vervolgens SQL Server Agent-serviceaccount voor Uitvoeren als.

  5. Voer de volgende sqlcmd-opdracht voor failover in:

    sqlcmd -S <SecondaryReplicaName> -U SQLADMIN -P <YourPassword> -Q "ALTER Availability Group <AGName> Failover"

    Notitie

    <SecondaryReplicaName>, <YourPassword>en <AGName> zijn tijdelijke aanduidingen. U moet deze wijzigen zodat deze overeenkomt met uw omgevingen. Dit script is een voorbeeld voor naslaginformatie. Een volledig script moet andere controles uitvoeren voordat een failover wordt uitgevoerd.