Symptomy
Załóżmy, że jest uruchamiane zapytanie zawierające operator Union przy użyciu równoległego planu zapytań w programie Microsoft SQL Server 2008 R2, SQL Server 2012 lub SQL Server 2014. Operator agregujący Stream może generować zduplikowane wiersze, gdy są spełnione następujące warunki:
-
W zapytaniu jest używana stała lub kolumna z wartością stałą (na przykład implikowana z predykatu, takiego jak kolumna like = <stała> po wybraniu kolumny).
-
Program SQL Server używa planu równoległego wykonywania zapytań, który zawiera zagregowany operator strumienia, który agregacja na stałą lub stałą wartość (ten zagregowany operator strumienia może być wprowadzany w kwerendach zawierających operator Union w celu wygenerowania odrębnych danych wyjściowych).
Rozwiązanie
Program SQL Server 2012
W przypadku programu SQL Server 2012, aby rozwiązać ten problem, zastosuj dodatek Service Pack 2 do programu SQL Server 2012. Aby uzyskać więcej informacji o usterkach, które zostały naprawione w dodatku SP2 dla programu SQL Server 2012, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2958429 Błędy naprawione w dodatku Service Pack 2 dla programu SQL Server 2012 Ten problem został po raz pierwszy rozwiązany w poniższej zbiorczej aktualizacji programu SQL Server.
Zbiorcza aktualizacja 13 dla programu SQL Server 2008 R2 z dodatkiem SP2 /en-us/help/2967540
Zbiorcza aktualizacja 2 dla programu SQL Server 2014 /en-us/help/2967546
Zbiorcza aktualizacja 10 dla programu SQL Server 2012 z dodatkiem SP1 /en-us/help/2954099
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:
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".