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-
Wanneer u een SQL Server-exemplaar bijwerkt die een host is voor een Always On-beschikbaarheidsgroep (AG) naar een nieuwe SQL Server-versie, naar een nieuw SQL Server-servicepack of cumulatieve update, of wanneer u installeert naar een nieuw Windows-servicepack of cumulatieve update, kunt u de downtime voor de primaire replica beperken tot slechts één handmatige failover door een rolling upgrade uit te voeren (of twee handmatige failovers als u een failback naar de oorspronkelijke primaire replica uitvoert).
Tijdens het upgradeproces is een secundaire replica niet beschikbaar voor failover- of alleen-lezenbewerkingen. Na de upgrade kan het enige tijd duren voordat de secundaire replica het primaire replicaknooppunt bijwerkt, afhankelijk van het volume van de activiteit op het primaire replicaknooppunt (dus verwacht veel netwerkverkeer).
Houd er ook rekening mee dat na de eerste failover naar een secundaire replica waarop een nieuwere versie van SQL Server wordt uitgevoerd, de databases in die AG een upgradeproces doorlopen om ze naar de nieuwste versie te brengen. Gedurende deze tijd zijn er geen leesbare replica's voor een van deze databases. Downtime na de eerste failover is afhankelijk van het aantal databases in de beschikbaarheidsgroep. Als u van plan bent om een failback uit te voeren naar de oorspronkelijke primaire versie, wordt deze stap niet herhaald wanneer u een failback uitvoert.
Notitie
In dit artikel wordt de discussie beperkt tot de upgrade van SQL Server zelf. Het heeft geen betrekking op het upgraden van het besturingssysteem met het Windows Server Failover Cluster (WSFC). Het upgraden van het Windows-besturingssysteem dat als host fungeert voor het failovercluster wordt niet ondersteund voor besturingssystemen van vóór Windows Server 2012 R2. Als u een clusterknooppunt wilt upgraden dat wordt uitgevoerd op Windows Server 2012 R2, raadpleegt u Rolling Upgrade van het clusterbesturingssysteem.
Bekijk voordat u begint de volgende belangrijke informatie:
Ondersteunde versie- en editie-upgrades: controleer of u vanaf uw versie van het Windows-besturingssysteem en de versie van SQL Server kunt upgraden naar de nieuwste versie van SQL Server. Als u bijvoorbeeld rechtstreeks een upgrade uitvoert vanaf een SQL Server 2005-exemplaar, wordt uw databasecompatibiliteitsniveau bijgewerkt.
Kies een upgrademethode voor een database-engine: als u een upgrade wilt uitvoeren in de juiste volgorde, selecteert u de juiste upgrademethode en stappen op basis van uw beoordeling van ondersteunde versie- en editie-upgrades, en ook op basis van andere onderdelen die in uw omgeving zijn geïnstalleerd.
het upgradeplan voor de database-engine plannen en testen: bekijk de releaseopmerkingen en bekende upgradeproblemen, de controlelijst vóór de upgrade en ontwikkel en test het upgradeplan.
Hardware- en softwarevereisten voor het installeren van SQL Server: controleer de softwarevereisten voor het installeren van SQL Server. Als er extra software vereist is, installeert u deze op elk knooppunt voordat u begint met het upgradeproces om downtime te minimaliseren.
Controleer of er gebruik wordt gemaakt van wijzigingsgegevens vastlegging of replicatie voor AG-databases: als er databases in de AG zijn die zijn ingeschakeld voor het vastleggen van wijzigingsgegevens (CDC), voer dan deze instructiesuit.
Notitie
Het combineren van versies van SQL Server-exemplaren in dezelfde AG wordt niet ondersteund buiten een rolling upgrade en mag niet voor langere tijd in die toestand verkeren, omdat de upgrade snel moet plaatsvinden. De andere optie voor het upgraden van SQL Server 2016 (13.x) en latere versies is via het gebruik van een gedistribueerde beschikbaarheidsgroep.
Notitie
Het gebruik van de functie Cluster-Aware Update (CAU) Windows om AlwaysOn-beschikbaarheidsgroepen bij te werken, wordt niet ondersteund.
Bekijk de volgende richtlijnen bij het uitvoeren van serverupgrades of updates om downtime en gegevensverlies voor uw AG's te minimaliseren:
Voordat u de stapsgewijze upgrade start:
Voer een handmatige failover uit op ten minste één van uw synchrone commit-replica's
Uw gegevens beveiligen door een volledige databaseback-up uit te voeren op elke beschikbaarheidsdatabase
DBCC CHECKDB
uitvoeren op elke beschikbaarheidsdatabase
Upgrade altijd eerst de externe secundaire replica-exemplaren, vervolgens lokale secundaire replica-exemplaren daarna en het primaire replica-exemplaar voor het laatst.
Back-ups kunnen niet worden uitgevoerd op een database die bezig is met het upgraden. Voordat u de secundaire replica's bijwerken, configureert u de automatische back-upvoorkeur om alleen back-ups uit te voeren op de primaire replica. Tijdens een versie-upgrade zijn er geen replica's leesbaar of beschikbaar voor back-ups. Tijdens een upgrade zonder versie kunt u geautomatiseerde back-ups configureren voor uitvoering op secundaire replica's voordat u de primaire replica bijwerken.
Tijdens een versie-upgrade kunnen leesbare secundaire bestanden niet worden gelezen na een upgrade van de leesbare secundaire en voordat een failover van de primaire replica wordt uitgevoerd naar een bijgewerkte secundaire replica of de primaire replica wordt bijgewerkt.
Als u wilt voorkomen dat de beschikbaarheidsgroep onbedoelde failovers tijdens het upgradeproces uitvoert, verwijdert u de beschikbaarheidsfailover van alle synchrone doorvoerreplica's voordat u begint.
Werk het primaire replica-exemplaar niet bij voordat u een failover van de AG uitvoert naar een bijgewerkt exemplaar met een secundaire replica. Anders kunnen clienttoepassingen langere downtime ondervinden tijdens de upgrade op het primaire replica-exemplaar.
Voer altijd een failover uit van de AG naar een secundair replica-exemplaar met synchrone doorvoer. Als u een failover uitvoert naar een secundair replica-exemplaar met asynchrone doorvoer, zijn de databases kwetsbaar voor gegevensverlies en wordt de gegevensverplaatsing automatisch opgeschort totdat u de gegevensverplaatsing handmatig hervat.
Werk het primaire replica-exemplaar niet bij voordat u een ander secundair replica-exemplaar bijwerkt of bijwerkt. Een bijgewerkte primaire replica kan geen logboeken meer verzenden naar een secundaire replica waarvan het SQL Server-exemplaar dat nog niet is bijgewerkt naar dezelfde versie. Wanneer gegevensverplaatsing naar een secundaire replica wordt onderbroken, kan er geen automatische failover plaatsvinden voor die replica en zijn uw beschikbaarheidsdatabases kwetsbaar voor gegevensverlies. Dit geldt ook tijdens een rolling upgrade waarbij u handmatig een failover uitvoert van een oude primaire naar een nieuwe primaire. Als zodanig moet u mogelijk de synchronisatie hervatten nadat u de oude primaire versie hebt bijgewerkt.
Voordat u een failover uitvoert voor een beschikbaarheidsgroep, controleert u of de synchronisatiestatus van het failoverdoel is SYNCHRONIZED
.
Waarschuwing
Het installeren van een nieuw exemplaar of een nieuwe versie van SQL Server op een server waarop een oudere versie van SQL Server is geïnstalleerd, kan per ongeluk een storing veroorzaken voor een beschikbaarheidsgroep die wordt gehost door de oudere versie van SQL Server. Dit komt doordat tijdens de installatie van het exemplaar of de versie van SQL Server de module voor hoge beschikbaarheid van SQL Server (RHS.EXE) wordt bijgewerkt. Dit resulteert in een tijdelijke onderbreking van uw bestaande beschikbaarheidsgroepen die de primaire rol op de server vervullen. Daarom wordt het ten zeerste aanbevolen om een van de volgende handelingen uit te voeren bij het installeren van een nieuwere versie van SQL Server op een systeem dat al een oudere versie van SQL Server host met een beschikbaarheidsgroep:
Installeer de nieuwe versie van SQL Server tijdens een onderhoudsvenster.
Failover van de beschikbaarheidsgroep naar de secundaire replica, zodat deze niet primair is tijdens de installatie van het nieuwe SQL Server-exemplaar.
In de praktijk is het exacte proces afhankelijk van factoren zoals de implementatietopologie van uw AG's en de doorvoermodus van elke replica. Maar in het eenvoudigste scenario is een rolling upgrade een proces met meerdere fasen dat in de eenvoudigste vorm de volgende stappen omvat:
Indien nodig kunt u een extra handmatige failover uitvoeren om de beschikbaarheidsgroep terug te keren naar de oorspronkelijke configuratie.
Notitie
Bij het bijwerken en offline halen van een synchrone-commit-replica worden de transacties op de primaire replica niet vertraagd. Zodra de verbinding met de secundaire replica is verbroken, worden transacties doorgevoerd op de primaire replica zonder te wachten tot logboeken worden beveiligd op de secundaire replica.
Als REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT
is ingesteld op 1
of 2
, is de primaire replica mogelijk niet beschikbaar voor lees-/schrijfbewerkingen wanneer een bijbehorend aantal secundaire replica's van synchronisatie niet beschikbaar is tijdens het updateproces.
Notitie
Wanneer u een in-place upgrade uitvoert van een secundaire replica naar een nieuwere versie van SQL Server, blijft de database in de beschikbaarheidsgroep in de status Synchroniseren/In herstel of Gesynchroniseerd/In herstel totdat de beschikbaarheidsgroep handmatig wordt overgeschakeld, waarmee het herstel wordt voltooid en de database wordt bijgewerkt. Een bijgewerkte primaire replica kan geen logboeken meer verzenden naar een secundaire replica van een lagere versie en gegevensverplaatsing stopt en er kan geen automatische failover plaatsvinden voor die replica en uw beschikbaarheidsdatabases zijn kwetsbaar voor gegevensverlies. Nadat u de oude primaire versie hebt bijgewerkt, moet u mogelijk de synchronisatie hervatten. Het is raadzaam om alle secundaire replica's bij te werken voordat u een failover naar een replica met de nieuwe versie uitvoert. Op die manier hebt u de mogelijkheid om een failover uit te voeren nadat de database(en) zijn bijgewerkt naar de nieuwe indeling.
Als u een AG alleen hebt geïmplementeerd voor herstel na noodgevallen, moet u mogelijk een failover van de AG uitvoeren naar een secundaire replica met asynchrone doorvoer. Deze configuratie wordt geïllustreerd door de volgende afbeelding:
In dit geval moet u de AG-failover uitvoeren naar de secundaire replica met asynchrone commit tijdens de geleidelijke upgrade. Als u gegevensverlies wilt voorkomen, wijzigt u de doorvoermodus in synchrone doorvoer en wacht u tot de secundaire replica is gesynchroniseerd voordat u een failover van de beschikbaarheidsgroep uitvoert. Daarom kan het rolling upgradeproces er als volgt uitzien:
SYNCHRONIZED
Omdat de synchrone doorvoermodus geen aanbevolen instelling is voor gegevenssynchronisatie naar een externe site, kunnen clienttoepassingen een onmiddellijke toename van de databaselatentie merken nadat de instelling is gewijzigd. Bovendien zorgt het uitvoeren van een failover ervoor dat alle niet-bekende logboekberichten worden verwijderd. Het aantal genegeerde logboekberichten kan aanzienlijk zijn vanwege de hoge netwerklatentie tussen de twee sites, waardoor clients een groot aantal transactionele fouten ondervinden. U kunt het effect op clienttoepassingen minimaliseren door de volgende acties uit te voeren:
Selecteer zorgvuldig een onderhoudsvenster tijdens weinig clientverkeer
Wijzig tijdens het upgraden of bijwerken van SQL Server op de primaire site de beschikbaarheidsmodus terug naar asynchrone doorvoer en keer vervolgens terug naar synchrone doorvoer wanneer u weer een failover naar de primaire site wilt uitvoeren
Als een AG FCI-knooppunten (failoverclusterexemplaar) bevat, moet u de inactieve knooppunten upgraden voordat u de actieve knooppunten bijwerken. In de volgende afbeelding wordt een algemeen AG-scenario geïllustreerd met FCI's voor lokale hoge beschikbaarheid en asynchrone commits tussen de FCI's voor extern herstel na noodgevallen en de upgradevolgorde.
REMOTE2
upgraden of bijwerkenREMOTE2
REMOTE1
upgraden of bijwerkenPRIMARY2
upgraden of bijwerkenPRIMARY2
PRIMARY1
upgraden of bijwerkenAls u meerdere AG's met primaire replica's uitvoert op afzonderlijke serverknooppunten (een actief/actief-configuratie), omvat het upgradepad meer failoverstappen om hoge beschikbaarheid in het proces te behouden. Stel dat u drie AG's uitvoert op drie serverknooppunten met alle replica's in de synchrone doorvoermodus, zoals wordt weergegeven in de volgende tabel:
AG | Node1 | Node2 | Node3 |
---|---|---|---|
AG1 | Primair | ||
AG2 | Primair | ||
AG3 | Primair |
Het kan geschikt zijn in uw situatie om een rolling upgrade met gelijke taakverdeling uit te voeren in de volgende volgorde:
Node3
(om Node2
vrij te maken)Node2
upgraden of bijwerkenNode2
(om Node1
vrij te maken)Node1
upgraden of bijwerkenNode1
(om Node3
vrij te maken)Node3
upgraden of bijwerkenNode3
Deze upgradereeks heeft een gemiddelde downtime van minder dan twee failovers per AG. De resulterende configuratie wordt weergegeven in de volgende tabel.
AG | Node1 | Node2 | Node3 |
---|---|---|---|
AG1 | Primair | ||
AG2 | Primair | ||
AG3 | Primair |
Op basis van uw specifieke implementatie kan uw upgradepad variëren en de downtime die clienttoepassingen ervaren, kan ook variëren.
Notitie
In veel gevallen voert u een failback uit naar de oorspronkelijke primaire replica nadat de rolling upgrade is voltooid.
Als u een rolling upgrade van een gedistribueerde beschikbaarheidsgroep wilt uitvoeren, moet u eerst alle secundaire replica's upgraden. Vervolgens voert u een failover uit van de doorstuurserver en voert u een upgrade uit van het laatste resterende exemplaar van de tweede beschikbaarheidsgroep. Zodra alle andere replica's zijn bijgewerkt, voert u een failover uit van de globale primaire replica en voert u een upgrade uit van het laatste resterende exemplaar van de eerste beschikbaarheidsgroep. Hieronder vindt u een gedetailleerd diagram met stappen.
Op basis van uw specifieke implementatie kan uw upgradepad variëren en de downtime die clienttoepassingen ervaren, kan ook variëren.
Notitie
In veel gevallen schakelt u, nadat de rolling upgrade is voltooid, terug naar de oorspronkelijke primaire replica's.
Belangrijk
Controleer de synchronisatie tussen elke stap. Voordat u doorgaat met de volgende stap, controleert u of uw synchrone commit-replica's zijn gesynchroniseerd binnen de beschikbaarheidsgroep en of uw globale primaire is gesynchroniseerd met de forwarder in de gedistribueerde beschikbaarheidsgroep.
aanbeveling: telkens wanneer u synchronisatie verifieert, vernieuwt u zowel het databaseknooppunt als het gedistribueerde AG-knooppunt in SQL Server Management Studio. Nadat alles is gesynchroniseerd, slaat u een schermopname op van de statussen van elke replica. Zo kunt u bijhouden welke stap u uitvoert, bewijs leveren dat alles correct werkte voor de volgende stap en u helpen bij het oplossen van problemen als er iets misgaat.
Beschikbaarheidsgroep | Primaire replica | Secundaire replica |
---|---|---|
AG1 | NODE1\SQLAG |
NODE2\SQLAG |
AG2 | NODE3\SQLAG |
NODE4\SQLAG |
DistributedAG | AG1 (globaal) | AG2 (doorstuurserver) |
De stappen voor het upgraden van de exemplaren in dit diagram:
NODE4\SQLAG
(secundair van AG2) en start de server opnieuw op.NODE2\SQLAG
(secundair van AG1) en start de server opnieuw op.NODE3\SQLAG
naar NODE4\SQLAG
.NODE3\SQLAG
en start de server opnieuw op.NODE1\SQLAG
naar NODE2\SQLAG
.NODE1\SQLAG
en start de server opnieuw op.NODE4\SQLAG
terug naar NODE3\SQLAG
.NODE2\SQLAG
terug naar NODE1\SQLAG
.Als er in elke beschikbaarheidsgroep een derde replica bestaat, wordt deze bijgewerkt voordat NODE3\SQLAG
en NODE1\SQLAG
.
Belangrijk
Controleer de synchronisatie tussen elke stap. Voordat u doorgaat met de volgende stap, controleert u of uw synchronous commit-replica's zijn gesynchroniseerd binnen de beschikbaarheidsgroep en of uw globale primaire gesynchroniseerd is met de forwarder in de gedistribueerde beschikbaarheidsgroep.
aanbeveling: telkens wanneer u synchronisatie verifieert, vernieuwt u zowel het databaseknooppunt als het distributed AG-knooppunt in SQL Server Management Studio. Als alles is gesynchroniseerd, maakt u een schermopname en slaat u deze op. Zo kunt u bijhouden welke stap u uitvoert, bewijs leveren dat alles correct werkte voor de volgende stap en u helpen bij het oplossen van problemen als er iets misgaat.
Afhankelijk van de update die wordt toegepast, zijn er mogelijk extra stappen vereist voor AG-replicadatabases die zijn ingeschakeld voor het vastleggen of repliceren van gegevens. Raadpleeg de releaseopmerkingen voor de update om te bepalen of de volgende stappen vereist zijn:
Voer een upgrade uit voor elke secundaire replica.
Nadat alle secundaire replica's zijn bijgewerkt, zet u de Availability Group over naar een geüpgradede instantie.
Voer de volgende Transact-SQL uit op het exemplaar dat als host fungeert voor de primaire replica:
EXECUTE [master].[sys].[sp_vupgrade_replication];
Notitie
Het uitvoeren van deze opdracht kan enkele minuten duren. Sla deze stap over als u sql Server 2019 CU1 of hoger gebruikt. Raadpleeg KB4530283 voor meer informatie
Voer een upgrade uit van het exemplaar dat oorspronkelijk de primaire replica was.
Zie voor achtergrondinformatie , aangezien de CDC-functionaliteit kan worden verstoord na een upgrade naar de meest recente CU.
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.
Documentatie
Een failoverclusterexemplaar upgraden - SQL Server Always On
Stappen voor het upgraden van een SQL Server Always On-failoverclusterexemplaar met behulp van de installatiemedia. Meer informatie over rolling upgrades en het upgraden van een cluster met meerdere subnetten.
Gerepliceerde databases upgraden of patchen - SQL Server
SQL Server biedt ondersteuning voor het upgraden van gerepliceerde databases uit eerdere versies van SQL Server zonder dat de activiteit op andere knooppunten wordt gestopt.
Wat is een ingesloten beschikbaarheidsgroep? - SQL Server Always On
Een overzicht van de functie voor ingesloten beschikbaarheidsgroepen van AlwaysOn-beschikbaarheidsgroepen in SQL Server.