gebeurtenis
31 mrt, 23 - 2 apr, 23
De grootste SQL-, Fabric- en Power BI-leerevenement. 31 maart – 2 april. Gebruik code FABINSIDER om $ 400 te besparen.
Zorg dat u zich vandaag nog registreertDeze browser wordt niet meer ondersteund.
Upgrade naar Microsoft Edge om te profiteren van de nieuwste functies, beveiligingsupdates en technische ondersteuning.
van toepassing op:SQL Server-
Als in SQL Server 2012 en 2014 een database die deelneemt aan een beschikbaarheidsgroep op de primaire replica, de mogelijkheid om transacties te schrijven verliest, wordt er geen failover geactiveerd, zelfs niet als de replica's worden gesynchroniseerd en geconfigureerd voor automatische failover.
SQL Server 2016 introduceert een nieuw optioneel gedrag met de naam verbeterde databasefailover die kunnen worden ingesteld door de wizard of met behulp van Transact-SQL. Als deze optie is ingeschakeld en automatische failover is geconfigureerd, wordt een failover geactiveerd naar een gesynchroniseerde secundaire replica wanneer één database die deelneemt aan een beschikbaarheidsgroep geen transacties meer kan schrijven.
scenario 1
Een beschikbaarheidsgroep wordt geconfigureerd tussen exemplaar A en exemplaar B, met één database met de naam DB1. Het gegevensbestand van DB1 bevindt zich op Station E en het transactielogboekbestand bevindt zich op Station F. De beschikbaarheidsmodus is ingesteld op synchrone doorvoer met automatische failover. De nieuwe optie voor verbeterde databasefailover is geconfigureerd voor de beschikbaarheidsgroep. De twee replica's zijn momenteel gesynchroniseerd. Een probleem zorgt ervoor dat Drive E mislukt. Dit scenario veroorzaakt geen uitgebreide databasefailover, omdat Drive E het transactielogboek niet bevat.
In het bovenstaande scenario, als fout 823 4 opeenvolgende keren wordt gerapporteerd terwijl de optie voor databasefailover is ingesteld op ingeschakeld, informeert SQL Server Windows Failover Cluster om de juiste actie te ondernemen op basis van het beleid voor failover van ag-rollen. Dit kan worden geconfigureerd om een failover uit te voeren of om een resource opnieuw op te starten.
scenario 2
Dit heeft dezelfde configuratie van de beschikbaarheidsgroep als Scenario 1. In plaats van dat Drive E uitvalt, valt deze keer de transactielogboekschijf, Schijf F, uit. Hiermee wordt een failover geactiveerd, omdat deze voldoet aan de voorwaarde die wordt gedekt door een uitgebreide databasefailover: het transactielogboek is niet bereikbaar, wat betekent dat de database geen transacties kan schrijven.
scenario 3
Er wordt een beschikbaarheidsgroep geconfigureerd tussen exemplaar A en exemplaar B met twee databases: DB1 en DB2. De beschikbaarheidsmodus is ingesteld op synchrone commit met een automatische failovermodus, en verbeterde databasefailover is ingeschakeld. Toegang tot de schijf met db2-gegevens en transactielogboekbestanden gaat verloren. Wanneer het probleem wordt gedetecteerd, wordt automatisch een failover van de beschikbaarheidsgroep uitgevoerd naar exemplaar B.
Verbeterde databasefailover kan worden geconfigureerd met behulp van SQL Server Management Studio of Transact-SQL. De PowerShell-cmdlets hebben momenteel niet deze mogelijkheid. Uitgebreide databasefailover is standaard uitgeschakeld.
Het inschakelen van een verbeterde databasefailover is mogelijk tijdens het maken van een toegankelijkheidsgroep met behulp van SQL Server Management Studio. De enige manier om deze uit te schakelen of in te schakelen nadat u de beschikbaarheidsgroep hebt gemaakt, is door Transact-SQL te gebruiken.
handmatige beschikbaarheidsgroep maken
Gebruik de instructies in het artikel Gebruik het dialoogvenster Nieuwe beschikbaarheidsgroep (SQL Server Management Studio) om de beschikbaarheidsgroep te maken. Als u geavanceerde databasefailover wilt inschakelen, vinkt u het selectievakje aan naast gezondheidsdetectie op databaseniveau.
De wizard beschikbaarheidsgroep gebruiken
Gebruik de aanwijzingen in het artikel De Beschikbaarheidsgroepwizard (SQL Server Management Studio). De optie voor het inschakelen van verbeterde databasefailover vindt u in het dialoogvenster Naam van beschikbaarheidsgroep opgeven. Om dit in te schakelen, vinkt u het selectievakje aan naast Gezondheidsdetectie op databaseniveau.
Om het verbeterde failover-gedrag van de database bij het maken van een beschikbaarheidsgroep te configureren, moet DB_FAILOVER op AAN worden ingesteld.
CREATE AVAILABILITY GROUP [AGNAME]
WITH ( DB_FAILOVER = ON)
...
Als u dit gedrag wilt toevoegen nadat een beschikbaarheidsgroep is geconfigureerd, gebruikt u de opdracht ALTER AVAILABILITY GROUP:
ALTER AVAILABILITY GROUP [AGNAME] SET (DB_FAILOVER = ON)
Als u dit gedrag wilt uitschakelen, voert u de volgende opdracht ALTER AVAILABILITY GROUP uit:
ALTER AVAILABILITY GROUP [AGNAME] SET (DB_FAILOVER = OFF)
Als u wilt zien of een beschikbaarheidsgroep uitgebreide databasefailover heeft ingeschakeld, voert u een query uit in de dynamische beheerweergave sys.availability_groups
. De kolom db_failover
heeft een nul als deze is uitgeschakeld of 1 als deze is ingeschakeld.
gebeurtenis
31 mrt, 23 - 2 apr, 23
De grootste SQL-, Fabric- en Power BI-leerevenement. 31 maart – 2 april. Gebruik code FABINSIDER om $ 400 te besparen.
Zorg dat u zich vandaag nog registreertTraining
Module
IaaS- en PaaS-oplossingen verkennen voor hoge beschikbaarheid en herstel na noodgevallen - Training
IaaS- en PaaS-oplossingen verkennen voor hoge beschikbaarheid en herstel na noodgevallen
Certificering
Microsoft Certified: Azure Database Administrator Associate - Certifications
Beheer een SQL Server-databaseinfrastructuur voor cloud-, on-premises en hybride relationele databases met behulp van de relationele Microsoft PaaS-databaseaanbiedingen.