KB4563115 — POPRAWKA: Skrypt uaktualniania kończy się niepowodzeniem, jeśli używasz zawsze włączonej grupy wysokiej dostępności jako repliki pomocniczej w SQL Server

Dotyczy
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2019 on Windows SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Standard on Windows

Objawy

Załóżmy, że używasz zawsze włączonej grupy wysokiej dostępności (AG) jako repliki pomocniczej. Podczas próby uaktualnienia programu Microsoft SQL Server 2016 do dodatku Service Pack 2 (SP2) z aktualizacją skumulowaną 11 (CU11) lub nowszą skrypt uaktualniania kończy się niepowodzeniem i mogą być wyświetlane następujące komunikaty o błędach:

DateTime spidSpidId Uaktualnianie ustawień subskrypcji i obiektów systemowych w bazie danych [DatabaseName].

DateTime spidSpidId Nie można zaktualizować bazy danych "DatabaseName", ponieważ baza danych jest tylko do odczytu.

DateTime spidSpidId Błąd podczas wykonywania sp_vupgrade_replication.

Przyczyna

Gdy uaktualnienie jest wykonywane w pomocniczej replice biblioteki SQL AG, istnieje wyścig między odzyskiwaniem bazy danych a wykonaniem skryptu uaktualniania. Z tego powodu kursor używany wewnątrz sp_vupgrade_replication nie może prawidłowo odfiltrować baz danych tylko do odczytu. Na krótki czas pomocnicze bazy danych w fazie odzyskiwania są dołączane do listy edytowalnych baz danych. Dlatego przy próbie zaktualizowania tych baz danych jest zwracany wyjątek, ponieważ bazy danych są tylko do odczytu.

Stan

Firma Microsoft potwierdziła, że jest to problem dotyczący produktów firmy Microsoft wymienionych w sekcji „Dotyczy”.

Rozwiązanie

Ten problem został rozwiązany w następujących aktualizacjach zbiorczych programu SQL Server:

Informacje o aktualizacjach zbiorczych programu SQL Server:

Każda nowa aktualizacja zbiorcza programu SQL Server zawiera wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji skumulowanej. Sprawdź najnowsze aktualizacje zbiorcze dla programu SQL Server:

Źródła informacji

Dowiedz się więcej o terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.