KB5018231 - CORREÇÃO: Erro 20598 após adicionar colunas que têm restrições padrão como parte da chave primária para uma tabela existente e configurar a replicação transacional

Aplica-se A
SQL Server 2017 on Windows SQL Server 2019 on Windows

Sintomas

Tenha em conta o seguinte cenário:

  • Você cria uma tabela que tem a chave primária e adiciona algumas linhas a ela no Microsoft SQL Server 2019 ou 2017.
  • Adicione uma coluna com uma restrição predefinida e modifique a chave primária para incluir a nova coluna.
  • Você cria uma publicação transacional e uma assinatura para esta tabela.

Neste cenário, o Distribution Agent falha quando tenta aplicar UPDATE ou DELETE ao subscritor em linhas que existiam antes de adicionar a nova coluna. Além disso, recebe a seguinte mensagem de erro "20598":

Nota

A linha não foi encontrada no Assinante ao aplicar o comando UPDATE replicado para Tabela 'TableName' com Chave(s) Primária(s): (null)

Resolução

Esse problema foi corrigido nas seguintes atualizações cumulativas para SQL Server:

Acerca das atualizações cumulativas para SQL Server

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

Estado

A Microsoft confirmou que se trata de um problema nos produtos Microsoft listados na secção "Aplica-se a".

Referências

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