Sintomas
Suponha que utiliza a instrução MERGE para descobrir quantas linhas não correspondem à origem e armazená-la numa variável local da seguinte forma:
DECLARE
@NotMatchedBySource INT = 0;
MERGE TargetTable USING SourceTable ON TargetTable.id = SourceTable.id
QUANDO NÃO FOR CORRESPONDIDA PELA ORIGEM,
CONJUNTO DE @NotMatchedBySource = @NotMatchedBySource ATUALIZAÇÕES + 1;
IMPRIMIR @NotMatchedBySource;
GO
Nesta situação, poderá reparar que o valor de @NotMatchedBySource após a instrução MERGE pode não refletir o número real de linhas que não correspondem à origem.
Estado
A Microsoft confirmou que se trata de um problema nos produtos Microsoft listados na secção "Aplica-se a".
Resolução
Este 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 todas as correções e todas as correções de segurança incluídas na atualização cumulativa anterior. Consulte as atualizações cumulativas mais recentes para SQL Server:
- Atualização cumulativa mais recente no SQL Server 2017
- Atualização cumulativa mais recente do SQL Server 2016
- Atualização cumulativa mais recente para SQL Server 2014
Referências
Saiba mais sobre a terminologia que a Microsoft utiliza para descrever as atualizações de software.