Sintomas
Suponha que você use um grupo de alta disponibilidade Always On (AG) como uma réplica secundária. Quando você tenta atualizar o Microsoft SQL Server 2016 para Service Pack 2 (SP2) Atualização Cumulativa 11 (CU11) ou versões posteriores, o script de atualização falha e você pode receber as seguintes mensagens de erro:
DateTime spidSpidId Atualizando configurações de assinatura e objetos do sistema no banco de dados [DatabaseName].
DateTime spidSpidId Falha ao atualizar o banco de dados "DatabaseName" porque o banco de dados é somente leitura.
DateTime spidSpidId Erro ao executar sp_vupgrade_replication.
Causa
Quando uma atualização é realizada na réplica secundária de uma SQL AG, há uma corrida entre a recuperação do banco de dados e a execução do script de atualização. Portanto, o cursor que você usa dentro sp_vupgrade_replication não pode filtrar os bancos de dados somente leitura corretamente. Por pouco tempo, os bancos de dados secundários na fase de recuperação são incluídos na lista de bancos de dados editáveis. Portanto, quando você tenta atualizar esses bancos de dados, uma exceção é retornada porque os bancos de dados são somente leitura.
Status
A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".
Resolução
Esse problema é corrigido nas seguintes atualizações cumulativas para SQL Server:
Sobre atualizações cumulativas para SQL Server:
Cada nova atualização cumulativa para SQL Server contém todos os hotfixes e todas as correções de segurança que foram incluídas na atualização cumulativa anterior. Confira as atualizações cumulativas mais recentes para SQL Server:
Referências
Saiba mais sobre a terminologia que a Microsoft usa para descrever atualizações de software.