CORREÇÃO: a atualização da réplica secundária poderá falhar se o grupo de disponibilidade estiver configurado no Linux no SQL Server 2017

Aplica-se a: SQL Server 2017 on Linux

Sintomas


Suponha que você tenha sempre o recurso AG (grupos de disponibilidade) configurado no Linux no SQL Server 2017. Ao atualizar a réplica secundária 18 para a atualização cumulativa 18 (CU18) usando o comando Yum, você percebe que a atualização de script pode falhar com a seguinte mensagem de erro:
Os objetos do sistema DateTimeSpidNum não puderam ser atualizados no banco de dados ' DatabaseName ' porque são somente leitura.
DateTimeSpidNum CHECKDB para o banco de dados ' DatabaseName ' concluído sem erros em DateTime (hora local). Esta é uma mensagem informativa apenas; Não é necessária nenhuma ação do usuário.
DateTimeSpidNum a atualização de configurações de assinatura e objetos do sistema no banco de dados [DatabaseName].
DateTimeSpidNum falha ao atualizar o banco de dados "DatabaseName" porque o banco de dados é somente leitura.
Erro de SpidNum de DateTimeao executar sp_vupgrade_replication.
DateTimeSpidNum ao salvar o status do script de atualização em ' SOFTWARE\Microsoft\MSSQLServer\Replication\Setup '.
DateTimeSpidNum erro ao salvar o status do script de atualização.
DateTimeSpidNum o banco de dados ' DatabaseName 'é atualizar o script ' upgrade_ucp_cmdw_discovery. SQL ' do nível LevelNumpara o nível LevelNum.
DateTimeSpidNum o banco de dados ' DatabaseName 'é atualizar o script ' msdb110_upgrade. SQL ' do nível LevelNum para o nível LevelNum.
DateTimeSpidNum iniciando a execução de PRE_MSDB. Server
DateTimeSpidNum erro: 3930, severidade: 16, estado: 1.
DateTimeSpidNum a transação atual não pode ser confirmada e não pode dar suporte a operações gravadas no arquivo de log. Reverter a transação.
DateTimeSpidNum erro: 912, severidade: 21, estado: 2.
A atualização de nível de script DateTimeSpidNum para o banco de dados ' DatabaseName 'falhou porque a etapa de atualização ' msdb110_upgrade. SQL ' encontrou o erro 3930, estado 1, severidade 16. Trata-se de uma condição de erro sério que pode interferir na operação regular, e o banco de dados será colocado offline. Se o erro ocorreu durante a atualização do banco de dados ' DatabaseName ', ele impedirá que toda a instância do SQL Server seja iniciada. Examine as entradas de erros anteriores em busca de erros, execute as ações corretivas adequadas e reinicie o banco de dados para que as etapas de atualização de script sejam executadas até a conclusão.
DateTimeSpidNum erro: 3417, severidade: 21, estado: 3.
DateTimeSpidNum não pode recuperar o banco de dados mestre. Não é possível executar o SQL Server. Restaure o mestre de um backup completo, repare-o ou reconstrua-o. Para obter mais informações sobre como recriar o banco de dados mestre, confira manuais online do SQL Server.
DateTimeSpidNum o rastreamento do SQL foi interrompido devido ao desligamento do servidor. ID de rastreamento = ' 1 '. Esta é uma mensagem informativa apenas; Não é necessária nenhuma ação do usuário.

Status


A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".

Resolução


Esse problema foi corrigido na seguinte atualização cumulativa do SQL Server:
Sobre atualizações cumulativas do SQL Server:
Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e todas as correções de segurança incluídas na atualização cumulativa anterior. Confira as atualizações cumulativas mais recentes do SQL Server:

Referências


Saiba mais sobre a terminologia que a Microsoft usa para descrever atualizações de software.