Poprawka: Niepoprawne wyniki po uruchomieniu WSTAW zaznacz instrukcję UNION ALL, program SQL Server 2008 lub SQL Server 2008 R2

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 2530921 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.

Microsoft rozprowadza poprawki Microsoft SQL Server 2008 Microsoft SQL Server 2008 R2 Z dodatkiem Service Pack 1 jako jeden plik do pobrania. Ponieważ poprawki są zbiorcze, każde nowe wydanie zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały zawarte w dodatku Service Pack 1 dla programu SQL Server 2008 lub SQL Server 2008 R2 poprzedniego napraw wydania.
Rozwiń wszystko | Zwiń wszystko

Na tej stronie

Symptomy

Po uruchomieniu WSTAW ZAZNACZ WSZYSTKIE UNII Instrukcja SQL Server 2008 lub SQL Server 2008 R2 wyniki instrukcji mogą być niepoprawne, jeśli w tabeli źródłowej WYBIERZ w tabeli docelowej jest używana klauzula WSTAW Klauzula.

Na przykład uruchom następujące instrukcje, aby utworzyć cztery tabele:
CREATE TABLE [TabA] (M VARCHAR(20), W VARCHAR(20)) CREATE TABLE [TabB] (M VARCHAR(20), W VARCHAR(20), R VARCHAR(20)) CREATE TABLE [TabC] (P VARCHAR(6), M CHAR(20), A NUMERIC(13)) CREATE TABLE [TabD] (P VARCHAR(6), W VARCHAR(20), M VARCHAR(20), D NUMERIC(13), E DATETIME, F DATETIME)
Wstaw niektóre wartości w TabA, TabB, i TabD tabele, a następnie uruchom następujące polecenie WSTAW ZAZNACZ WSZYSTKIE UNII oświadczenie:

INSERT INTO [TabC] (P, M, A) SELECT T1.P,T1.M,T1.D / SUM(1) OVER(PARTITION BY P) FROM [TabD] T1 INNER JOIN [TabA] T2 ON (T1.M = T2.M AND T1.W = T2.W) WHERE NOT EXISTS (SELECT * FROM [TabC] E1 WHERE T1.P = E1.P) UNION ALL SELECT T1.P,T2.M,T1.D / SUM(1) OVER(PARTITION BY P) FROM [TabD] T1 INNER JOIN [TabB] T2 ON (T1.M = T2.R AND T1.W = T2.W) WHERE NOT EXISTS (SELECT * FROM [TabC] E1 WHERE T1.P = E1.P) GO
W tym scenariuszu otrzymywać niepoprawne wyniki, a niektóre rekordy nie są niepoprawnie wstawiane do TabC Tabela.

Rozwiązanie

Zbiorcza aktualizacja informacji

Program SQL Server 2008 R2

Poprawkę dotyczącą tego problemu najpierw została wydana w 9 aktualizacja zbiorcza. Aby uzyskać więcej informacji dotyczących sposobu uzyskiwania tego pakietu aktualizacji zbiorczej dla programu SQL Server 2008 R2 kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2567713 Zbiorcza aktualizacja pakietu 9 dla programu SQL Server 2008 R2
Uwaga Ponieważ kumulują kompilacje każdej nowej wersji poprawki zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały zawarte w poprzednich SQL Server 2008 R2 napraw wydania. Zaleca się, aby rozważyć zastosowanie najnowszej wersji poprawki, zawierający tę poprawkę. Aby uzyskać więcej informacji kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
981356 Tworzy program SQL Server 2008 R2, które zostały wydane po wydaniu programu SQL Server 2008 R2

Dodatek Service Pack 1 dla programu SQL Server 2008 R2

Poprawkę dotyczącą tego problemu najpierw została wydana w zbiorczej aktualizacji 2 dla dodatku Service Pack 1 dla programu SQL Server 2008 R2. Aby uzyskać więcej informacji dotyczących sposobu uzyskiwania tego pakietu aktualizacji zbiorczej kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2567714 Skumulowany pakiet aktualizacji 2 dla dodatku Service Pack 1 dla programu SQL Server 2008 R2
Uwaga Ponieważ kumulują kompilacje każdej nowej wersji poprawki zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały zawarte w poprzednich SQL Server 2008 R2 napraw wydania. Zaleca się, aby rozważyć zastosowanie najnowszej wersji poprawki, zawierający tę poprawkę. Aby uzyskać więcej informacji kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2567616 Tworzy program SQL Server 2008 R2, które zostały wydane po wydaniu dodatku Service Pack 1 dla programu SQL Server 2008 R2

Dodatek Service Pack 2 dla programu SQL Server 2008

Poprawkę dotyczącą tego problemu najpierw została wydana w zbiorczej aktualizacji 5 dla dodatku Service Pack 2 dla programu SQL Server 2008. Aby uzyskać więcej informacji na temat tego pakietu aktualizacji zbiorczej kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2555408 Zbiorczego pakietu aktualizacji 5 dla dodatku Service Pack 2 dla programu SQL Server 2008
Uwaga Ponieważ kumulują kompilacje każdej nowej wersji poprawki zawiera wszystkie poprawki i uwolnienia rozwiązać wszystkie poprawki zabezpieczeń, które zostały dołączone do poprzedniego programu SQL Server 2008. Firma Microsoft zaleca, aby rozważyć zastosowanie najnowszej wersji poprawki, zawierający tę poprawkę. Aby uzyskać więcej informacji kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2402659 Tworzy program SQL Server 2008, które zostały wydane po wydaniu dodatku Service Pack 2 dla programu SQL Server 2008
Poprawki Microsoft SQL Server 2008 są tworzone dla określonych dodatków service Pack dla programu SQL Server. Do instalacji dodatku Service Pack 2 dla programu SQL Server 2008, należy zastosować poprawkę dodatku Service Pack 2 dla programu SQL Server 2008. Domyślnie każdy poprawkę, która jest dostępna w dodatku service pack dla programu SQL Server znajduje następny dodatek service pack dla programu SQL Server.

SQL Server 2008 Service Pack 1 Zbiorcza aktualizacja 14

Poprawkę dotyczącą tego problemu najpierw została wydana w aktualizacji zbiorczej 14 dla dodatku Service Pack 1 dla programu SQL Server 2008. Aby uzyskać więcej informacji na temat tego pakietu aktualizacji zbiorczej kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2527187 Zbiorcza aktualizacja pakietu 14 dla dodatku Service Pack 1 dla programu SQL Server 2008
Uwaga Ponieważ kumulują kompilacje każdej nowej wersji poprawki zawiera wszystkie poprawki i uwolnienia rozwiązać wszystkie poprawki zabezpieczeń, które zostały dołączone do poprzedniego programu SQL Server 2008. Firma Microsoft zaleca, aby rozważyć zastosowanie najnowszej wersji poprawki, zawierający tę poprawkę. Aby uzyskać więcej informacji kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
970365 Tworzy program SQL Server 2008, które zostały wydane po wydaniu dodatku Service Pack 1 dla programu SQL Server 2008
Microsoft SQL Server 2008 poprawki są tworzone dla określonych dodatków service Pack dla programu SQL Server. Do instalacji dodatku Service Pack 1 dla programu SQL Server 2008, należy zastosować poprawkę dodatku Service Pack 1 dla programu SQL Server 2008. Domyślnie każdy poprawkę, która jest dostępna w dodatku service pack dla programu SQL Server znajduje następny dodatek service pack dla programu SQL Server.

Stan

Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "Dotyczy".

Właściwości

Numer ID artykułu: 2530921 - Ostatnia weryfikacja: 15 sierpnia 2011 - Weryfikacja: 2.0
Informacje zawarte w tym artykule dotyczą:
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Enterprise Evaluation
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2008 Standard Edition for Small Business
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Express with Advanced Services
  • Microsoft SQL Server 2008 R2 Standard Edition for Small Business
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
Słowa kluczowe: 
kbqfe kbexpertiseadvanced kbsurveynew kbfix kbmt KB2530921 KbMtpl
Przetłumaczone maszynowo
WAŻNE: Ten artykuł nie został przetłumaczony przez człowieka, tylko przez oprogramowanie do tłumaczenia maszynowego firmy Microsoft. Firma Microsoft oferuje zarówno artykuły tłumaczone przez ludzi, jak i artykuły tłumaczone maszynowo, dzięki czemu każdy użytkownik może uzyskać dostęp do całej zawartości bazy wiedzy Knowledge Base we własnym języku. Prosimy jednak pamiętać, że artykuły przetłumaczone maszynowo nie zawsze są doskonałe. Mogą zawierać błędy słownictwa, składni i gramatyki, przypominające błędy robione przez osoby, dla których język użytkownika nie jest językiem ojczystym. Firma Microsoft nie odpowiada za wszelkie nieścisłości, błędy lub szkody spowodowane nieprawidłowym tłumaczeniem zawartości oraz za wykorzystanie tej zawartości przez klientów. Oprogramowanie do tłumaczenia maszynowego jest często aktualizowane przez firmę Microsoft.
Anglojęzyczna wersja tego artykułu to:2530921

Przekaż opinię

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com