Symptome
Angenommen, Sie verwenden eine Always On-Hochverfügbarkeitsgruppe (AG) als sekundäres Replikat. Wenn Sie versuchen, ein Upgrade von Microsoft SQL Server 2016 auf Service Pack 2 (SP2) Kumulatives Update 11 (CU11) oder höhere Versionen durchzuführen, schlägt das Upgradeskript fehl, und Sie erhalten möglicherweise die folgenden Fehlermeldungen:
DateTime spidSpidId Aktualisieren von Abonnementeinstellungen und Systemobjekten in Datenbank [DatabaseName].
DateTime spidSpidId Fehler beim Aktualisieren von Datenbank "DatabaseName", da die Datenbank schreibgeschützt ist.
DateTime spidSpidId Fehler beim Ausführen von sp_vupgrade_replication.
Ursache
Wenn ein Upgrade für das sekundäre Replikat einer SQL AG durchgeführt wird, gibt es einen Wettlauf zwischen der Datenbankwiederherstellung und der Ausführung des Upgrade-Skripts. Daher kann der Cursor, den Sie innerhalb sp_vupgrade_replication verwenden, die schreibgeschützten Datenbanken nicht ordnungsgemäß herausfiltern. Für kurze Zeit werden die sekundären Datenbanken in der Wiederherstellungsphase in die Liste der editierbaren Datenbanken aufgenommen. Wenn Sie versuchen, diese Datenbanken zu aktualisieren, wird daher eine Ausnahme zurückgegeben, da die Datenbanken schreibgeschützt sind.
Status
Microsoft hat bestätigt, dass dies ein Problem bei den Microsoft-Produkten ist, die im Abschnitt „Gilt für“ aufgeführt sind.
Lösung
Dieses Problem wurde in den folgenden kumulativen Updates für SQL Server behoben:
- Kumulatives Update 7 für SQL Server 2019
- Kumulatives Update 25 für SQL Server 2017 (Build 26396)
- Kumulatives Update 13 für SQL Server 2016 SP2
Informationen zu kumulativen Updates für SQL Server:
Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und Sicherheitsfixes, die im vorherigen kumulativen Update enthalten waren. Sehen Sie sich die neuesten kumulativen Updates für SQL Server an:
- Neuestes kumulatives Update für SQL Server 2019
- Neuestes kumulative Update für SQL Server 2017
- Neuestes kumulative Update für SQL Server 2016
Referenzmaterial
Informieren Sie sich über die Terminologie, die Microsoft zum Beschreiben von Softwareupdates verwendet.