Probleme beim Upgrade auf SQL Server 2022

Gilt für: SQL Server 2022, SQL Server 2019, SQL Server 2017, SQL Server 2016

Zusammenfassung

In diesem Artikel werden häufige Probleme beschrieben, die beim Upgrade auf SQL Server 2022 auftreten können, und es werden jeweils Lösungen und Problemumgehungen bereitgestellt. Zu den behandelten Szenarien gehören Speicherauszüge bei Zugriffsverletzungen im Zusammenhang mit Lightweight Query Profiling, blockierte Upgrades aufgrund einer teilweisen SQL-Server-Installation, Failoverclusterinstanzen (FCI), die nach dem Upgrade nicht online gehen, sowie Fehler in Replikations-Upgradeskripten, wenn die Verteilungsdatenbank Teil einer Always On-Verfügbarkeitsgruppe (AG) ist. Verwenden Sie dieses Handbuch, um probleme mit einem fehlerhaften direkten Upgrade auf SQL Server 2022 zu beheben und Ihre SQL Server Instanz wieder online zu schalten.

Speicherabbilder bei Zugriffsverletzungen während eines Upgrades in einer Always On-Umgebung

Dieser Fehler tritt auf, wenn Sie ein Upgrade auf SQL Server 2022 in einer AlwaysOn-Umgebung durchführen. Die Fehlermeldung und die zugehörigen Protokolleinträge deuten auf eine schwerwiegende Ausnahme hin, die während des Upgradevorgangs generiert wurde.

Fehlermeldung

Ausnahmecode: c0000005 EXCEPTION_ACCESS_VIOLATION

Anwendungsereignisprotokoll

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-Fehlerprotokoll

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ösung

Dieses Problem ist ein bekanntes Problem mit LIGHTWEIGHT_QUERY_PROFILING in SQL Server 2022.

Das Problem wurde im kumulativen Update 4 für SQL Server 2022 und kumulatives Update 20 für SQL Server 2019 behoben.

Workaround

Wenn Sie das kumulative Update noch nicht anwenden können, deaktivieren Sie LIGHTWEIGHT_QUERY_PROFILING. Die Leichtgewichtsprofilierung wird auf Datenbankebene mithilfe der datenbankbezogenen Konfiguration LIGHTWEIGHT_QUERY_PROFILING deaktiviert:

ALTER DATABASE SCOPED CONFIGURATION SET LIGHTWEIGHT_QUERY_PROFILING = OFF;

Upgrade blockiert durch eine inaktive SQL Server 2022-Instanz

Sie können kein Upgrade auf SQL Server 2022 durchführen, da der Computer über eine inaktive SQL Server 2022-Instanz verfügt.

Ursache

Dieses Problem tritt auf, wenn eine frühere SQL-Server-Installation fehlschlägt und eine teilweise installierte Instanz auf dem Computer zurücklässt. Das SQL Server Setupprogramm führt kein automatisches Rollback der Installation durch, wenn ein Fehler auftritt. Die teilweise installierte Instanz enthält nicht die SQL Server-Edition, die Sie zu installieren versucht haben, wodurch spätere Installationsversuche für dieselbe Version fehlschlagen.

Lösung

Führen Sie die Schritte unter Entfernen einer Teilinstallation von SQL Server aus, und starten Sie das Upgrade dann neu.

Die Failoverclusterinstanz kann nach dem Upgrade nicht online geschaltet werden

Nachdem Sie ein Upgrade SQL Server von einer früheren Version auf SQL Server 2022 für eine Failoverclusterinstanz (FCI) durchgeführt haben, kann die Instanz nicht online sein. Im Failovercluster-Manager wird die SQL Server Rolle als fehlgeschlagen angezeigt, und die Instanz wird nicht gestartet.

Ursache

Die SQL Server Instanz bleibt im Skriptupgrademodus hängen, wodurch verhindert wird, dass sie gestartet wird. Während eines Upgrades führt SQL Server Upgradeskripts als Teil der Startsequenz aus. Wenn eines dieser Skripts fehlschlägt oder nicht abgeschlossen ist, bleibt die Instanz im Skriptupgrademodus und kann nicht online sein.

Workaround

Um die SQL Server Instanz online zu bringen, umgehen Sie das ausgeführte Upgradeskript, indem Sie die Schritte unter "Problembehandlung bei Upgradeskriptfehlern beim Anwenden eines Updates" ausführen.

Notiz

Das Traceflag -T902 deaktiviert die Ausführung des Upgradeskripts beim Start. Entfernen Sie das Traceflag, nachdem Sie das zugrunde liegende Problem im Upgradeskript behoben haben, damit die noch ausstehenden Upgradeschritte abgeschlossen werden können.

Fehler beim Replikationsupgradeskript, wenn sich die Verteilungsdatenbank in einer Verfügbarkeitsgruppe befindet

Beim Upgrade auf SQL Server 2022 auf einem Server, auf dem die Verteilungsdatenbank in einer Verfügbarkeitsgruppe (AG) gehostet wird, tritt ein Replikationsfehler auf.

Notiz

Dieses Problem kann auch auftreten, wenn Sie SQL Server von Version 2016 SP2 CU3, SQL Server 2017 CU6 oder höher auf SQL Server 2019 aktualisieren. Der Fix für dieses Problem ist im kumulativen Update 21 für SQL Server 2019 verfügbar.

Fehlermeldung

Das SQL Server-Setup wird abgeschlossen, zeigt jedoch für die Replikationskomponente den Fehler "Beim Ausführen der Replikationsupgrade-Skripts ist ein Fehler aufgetreten" an. Wenn Sie eine Reparatur für eine Instanz in diesem Zustand ausführen, wird dieselbe Fehlermeldung angezeigt.

SQL Server-Fehlerprotokoll

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'.

Ursache

Der Fehler tritt auf, wenn die Verteilungsdatenbank Teil einer AG ist und ein direktes Upgrade versucht wird.

Lösung

Der Fix ist im kumulativen Update 5 für SQL Server 2022 verfügbar.

Workaround

Wenn Sie das kumulative Update nicht anwenden können, führen Sie die folgenden Schritte aus:

  1. Entfernen Sie die Verteilungsdatenbank von der AG.
  2. Führen Sie das Upgrade auf SQL Server 2022 aus.
  3. Fügen Sie nach Abschluss des Upgrades die Verteilungsdatenbank wieder zur AG hinzu.