Symptomy
Załóżmy, że za pomocą instrukcji MERGE można sprawdzić, ile wierszy nie jest zgodnych ze źródłem i przechowywać w zmiennej lokalnej, w następujący sposób:
DECLARE @NotMatchedBySource INT = 0;
Scal element docelowy za pomocą elementu źródłowego w elemencie TargetTable.id = lokalizacja_źródłowa. idWHEN nie jest zgodny ze źródłem, a następnie zaktualizuj zestaw @NotMatchedBySource = @NotMatchedBySource + 1;
Drukowanie @NotMatchedBySource; WYKRACZA
W takiej sytuacji możesz zauważyć, że wartość @NotMatchedBySource po instrukcji Merge może nie odzwierciedlać rzeczywistej liczby wierszy, które nie pasują do źródła.
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".
Rozwiązanie
Ten problem został rozwiązany w następujących zbiorczych aktualizacjach programu SQL Server
-
Zbiorcza aktualizacja 7 dla programu SQL Server 2016 z dodatkiem SP2
-
Zbiorcza aktualizacja 4 dla programu SQL Server 2014 z dodatkiem SP3
Informacje dotyczące aktualizacji zbiorczych dla programu SQL Server:
Każda nowa Zbiorcza aktualizacja programu SQL Server zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji zbiorczej. Zapoznaj się z najnowszymi aktualizacjami zbiorczymi dla programu SQL Server:
Informacje
Dowiedz się więcej oterminologia używana przez firmę Microsoft do opisywania aktualizacji oprogramowania.