Problem vid uppgradering till SQL Server 2022

Gäller för: SQL Server 2022, SQL Server 2019, SQL Server 2017, SQL Server 2016

Sammanfattning

Den här artikeln beskriver vanliga problem som du kan stöta på när du uppgraderar till SQL Server 2022 och innehåller lösningar och tillfälliga lösningar för vart och ett av dem. De scenarier som omfattas inkluderar åtkomstöverträdelser i minnesdumpar kopplade till lättviktig frågeprofilering, blockerade uppgraderingar som orsakas av en ofullständig SQL Server-installation, redundansklusterinstanser (FCI) som inte går online efter uppgradering samt fel i replikeringsuppgraderingsskript när distributionsdatabasen ingår i en Always On-tillgänglighetsgrupp (AG). Använd den här guiden för att felsöka en misslyckad uppgradering på plats till SQL Server 2022 och för att få din SQL Server-instans online igen.

Åtkomstöverträdelsedumpar under uppgraderingen i en AlwaysOn-miljö

Det här felet uppstår när du uppgraderar till SQL Server 2022 i en AlwaysOn-miljö. Felmeddelandet och de associerade loggposterna anger ett allvarligt undantag som genererades under uppgraderingsprocessen.

Felmeddelande

Undantagskod: c0000005 EXCEPTION_ACCESS_VIOLATION

Programhändelselogg

Error: A user request from the session with SPID <SPID> generated a fatal exception. SQL Server is terminating this session.
Information: Windows Error Reporting - Fault bucket INVALID_REQUEST, type 0

SQL Server-fellogg

Error: A user request from the session with SPID <SPID> generated a fatal exception. SQL Server is terminating this session. Contact Product Support Services with the dump produced in the log directory.

Lösning

Det här problemet är ett känt problem med LIGHTWEIGHT_QUERY_PROFILING i SQL Server 2022.

Problemet åtgärdas i Cumulative Update 4 för SQL Server 2022 och Cumulative Update 20 för SQL Server 2019.

Workaround

Om du inte kan tillämpa den kumulativa uppdateringen ännu inaktiverar du LIGHTWEIGHT_QUERY_PROFILING. Enkel profilering inaktiveras på databasnivå med hjälp av konfigurationen LIGHTWEIGHT_QUERY_PROFILING med databasomfattning:

ALTER DATABASE SCOPED CONFIGURATION SET LIGHTWEIGHT_QUERY_PROFILING = OFF;

Uppgraderingen blockeras av en inaktiv SQL Server 2022-instans

Du kan inte uppgradera till SQL Server 2022 eftersom datorn har en inaktiv instans SQL Server 2022.

Orsak

Det här problemet uppstår när en tidigare SQL Server installation misslyckas och lämnar en delvis installerad instans på datorn. Det SQL Server installationsprogrammet återställer inte installationen automatiskt när ett fel inträffar. Den delvis installerade instansen innehåller inte versionen av SQL Server du försökte installera, vilket gör att senare installationsförsök för samma version misslyckas.

Lösning

Följ stegen i Ta bort en partiell installation av SQL Server och starta sedan om uppgraderingen.

Redundansklusterinstansen kan inte vara online efter uppgraderingen

När du har uppgraderat SQL Server från en tidigare version till SQL Server 2022 på en failover-klusterinstans (FCI), kan instansen inte komma online. I Failover Cluster Manager visas SQL Server-rollen som misslyckad och instansen startar inte.

Orsak

Den SQL Server instansen har fastnat i skriptuppgraderingsläge, vilket förhindrar att den startar. Under en uppgradering kör SQL Server uppgraderingsskript som en del av startsekvensen. Om ett av dessa skript misslyckas eller inte slutförs förblir instansen i skriptuppgraderingsläge och kan inte komma online.

Workaround

Om du vill aktivera SQL Server-instansen kan du kringgå uppgraderingsskriptet som körs genom att följa stegen i Felsöka uppgraderingsskriptfel vid tillämpning av en uppdatering.

Kommentar

Spårningsflaggan -T902 inaktiverar körning av uppgraderingsskript under start. Ta bort spårningsflaggan när du har åtgärdat problemet med det underliggande uppgraderingsskriptet så att de väntande uppgraderingsstegen kan slutföras.

Skriptfel för replikeringsuppgradering när distributionsdatabasen finns i en tillgänglighetsgrupp

Ett replikeringsfel uppstår när du uppgraderar till SQL Server 2022 på en server som är värd för distributionsdatabasen i en tillgänglighetsgrupp (AG).

Kommentar

Det här problemet kan också inträffa när du uppgraderar SQL Server från version 2016 SP2 CU3, SQL Server 2017 CU6 eller senare versioner till SQL Server 2019. Korrigeringen för det här problemet finns i Kumulativ uppdatering 21 för SQL Server 2019.

Felmeddelande

SQL Server installationen slutförs men visar felet "Det uppstod ett fel när replikeringsuppgraderingsskripten kördes" för replikeringskomponenten. Om du kör en reparation på en instans i det här tillståndet får du samma felmeddelande.

SQL Server-fellogg

Executing sp_vupgrade_replication.
Could not open distribution database <distribution_db_name> because it is offline or being recovered. Replication settings and system objects could not be upgraded. Be sure this database is available and run sp_vupgrade_replication again.
Error executing sp_vupgrade_replication.
Saving upgrade script status to 'SOFTWARE\Microsoft\MSSQLServer\Replication\Setup'.

Orsak

Felet uppstår när distributionsdatabasen ingår i en AG och en uppgradering på plats försöks.

Lösning

Korrigeringen finns i Cumulative Update 5 för SQL Server 2022.

Workaround

Om du inte kan tillämpa den kumulativa uppdateringen använder du följande steg:

  1. Ta bort distributionsdatabasen från AG.
  2. Kör uppgraderingen till SQL Server 2022.
  3. När uppgraderingen är klar lägger du till distributionsdatabasen i tillgänglighetsgruppen igen.