KB4340837 - CORREÇÃO: Erro 3906 quando um hotfix é aplicado em um servidor que tem um banco de dados SQL Server snapshot em um banco de dados de assinatura pull

Aplica-se a
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 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows SQL Server 2014 Service Pack 2 - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Sintomas

Suponha que você tenha um banco de dados snapshot em um banco de dados de assinatura pull em um servidor que esteja executando o Microsoft SQL Server. Quando você aplica um hotfix no servidor, a atualização no nível do script falha, e você recebe uma mensagem de erro semelhante a:

Observação

Data Hora spid_number Realizando atualizações de metadados de segurança de trabalho de replicação...
Data timespid_number Erro: 3906, Gravidade: 16, Estado: 1.
Data timespid_number Falha ao atualizar o banco de dados "database_name" porque o banco de dados é somente leitura.
Data timespid_number Erro: 912, Gravidade: 21, Estado: 2.
Data timespid_number A atualização no nível do script para o banco de dados "master" falhou porque a etapa de atualização "msdb110_upgrade.sql" encontrou o erro 3906, estado 1, gravidade 16. Essa é uma condição de erro grave 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 'master', ele impedirá que toda a instância do SQL Server seja iniciada. Examine as entradas anteriores do log de erros em busca de erros, execute as ações corretivas apropriadas e reinicie o banco de dados para que as etapas de atualização do script sejam executadas até a conclusão.

Resolução

Esse problema é corrigido nas seguintes atualizações para o SQL Server:

Sobre compilações do SQL Server

Cada nova compilação do SQL Server contém todos os hotfixes e correções de segurança que estavam na compilação anterior. Recomendamos que você instale o build mais recente para a sua versão do SQL Server:

Status

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".

Referências

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