Příznaky
Předpokládejme, že jako sekundární repliku používáte skupinu s vysokou dostupností Always On (AG). Při pokusu o upgrade Microsoft SQL Server 2016 na kumulativní aktualizaci Service Pack 2 (SP2) 11 (CU11) nebo novější verze se skript upgradu nezdaří a může se zobrazit následující chybové zprávy:
DateTime spidSpidId Upgrade nastavení předplatného a systémových objektů v databázi [Název_databáze].
DateTime spidSpidId Nepodařilo se aktualizovat databázi "Název_databáze", protože databáze je jen pro čtení.
DateTime spidSpidId Chyba při provádění sp_vupgrade_replication.
Příčina
Pokud je upgrade proveden u sekundární repliky SQL AG, je mezi obnovením databáze a provedením skriptu upgradu spor. Kurzor, který použijete uvnitř sp_vupgrade_replication proto nemůže správně odfiltrovat databáze jen pro čtení. Po krátkou dobu jsou sekundární databáze ve fázi obnovení zahrnuté do seznamu upravitelné databáze. Proto se při pokusu o aktualizaci těchto databází vrátí výjimka, protože databáze jsou jen pro čtení.
Stav
Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.
Řešení
Tento problém je opravený v následujících kumulativních aktualizacích SQL Server:
Kumulativní aktualizace pro SQL Server:
Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Podívejte se na nejnovější kumulativní aktualizace pro SQL Server:
Odkazy
Přečtěte si o terminologii, kterou Microsoft používá k popisu aktualizací softwaru.