KB2727322 – RJEŠENJE: pri pokretanju upita koji koristi paralelizam u planu izvršenja upita u SQL Server 2008, SQL Server 2008 R2 ili SQL Server 2012 vraćaju se netočni rezultati

Primjenjuje se na
SQL Server 2008 Service Pack 3 SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Standard SQL Server 2008 Web SQL Server 2008 Standard Edition for Small Business SQL Server 2012 Business Intelligence SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2012 Enterprise Core SQL Server 2012 Web SQL Server 2008 R2 Datacenter SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2008 R2 Web

Microsoft distribuira popravke servisnog paketa Microsoft SQL Server 2008 Service Pack 3 kao jednu datoteku koja se može preuzeti. Budući da su popravci kumulativni, svako novo izdanje sadrži sve hitne popravke i sigurnosne popravke koji su bili obuhvaćeni prethodnim izdanjem popravka servisnog paketa SQL Server 2008 Service Pack 3.

Simptomi

Pretpostavimo da pokrećete upit koji koristi paralelizam u planu izvršenja upita u sustavu SQL Server 2008, SQL Server 2008 R2 ili SQL Server 2012. Plan upita ispunjava sljedeće uvjete:

  • Plan izvršenja upita sadrži operator Bitmap i spajanje raspršivanja ili spajanje.
  • Predikat hash join or merge join sadrži usporedbu IS stupaca koji mogu imati vrijednost NULL.

U tom scenariju upit vraća netočne rezultate.

Uzrok

Taj se problem pojavljuje jer se vrijednost NULL odbacuje kada SQL Server koristi bitmapno filtriranje u pregledu tablice ili indeksa.

Rješenje

Kumulativni podaci o ažuriranju

Paket kumulativnog ažuriranja 1 za SQL Server 2012 Service Pack 1

Rješenje tog problema prvi je put objavljeno u kumulativnom ažuriranju 1. Dodatne informacije o nabavi paketa kumulativnog ažuriranja za SQL Server 2012 Service Pack 1 potražite u članku iz Microsoftove baze znanja pod sljedećim brojem:

2765331 Paket kumulativnog ažuriranja 1 za SQL Server 2012 Service Pack 1Napomena Budući da su međuverzije kumulativne, svako novo izdanje popravka sadrži sve hitne popravke i sigurnosne popravke koji su obuhvaćeni prethodnim izdanjem popravaka za SQL Server 2012. Preporučujemo da razmislite o primjeni najnovijeg izdanja popravka koji sadrži taj hitni popravak. Za više informacija kliknite sljedeći broj članka da biste prikazali članak u Microsoftovoj bazi znanja:

2772858 međuverzije SQL Server 2012 koje su izdane nakon izdanja servisnog paketa Service Pack 1 SQL Server 2012

SQL Server 2008 R2 Service Pack 2

Rješenje tog problema prvi je put objavljeno u kumulativnom ažuriranju 2 za SQL Server 2008 R2 Service Pack 2. Dodatne informacije o nabavi tog paketa kumulativnog ažuriranja potražite u članku iz Microsoftove baze znanja pod sljedećim brojem:

2740411 Paket kumulativnog ažuriranja 2 za SQL Server 2008 R2 Service Pack 2Napomena Budući da su međuverzije kumulativne, svako novo izdanje popravka sadrži sve hitne popravke i sigurnosne popravke obuhvaćene prethodnim izdanjem popravka za SQL Server 2008 R2. Preporučujemo da razmislite o primjeni najnovijeg izdanja popravka koji sadrži taj hitni popravak. Za više informacija kliknite sljedeći broj članka da biste prikazali članak u Microsoftovoj bazi znanja:

2730301 međuverzije SQL Server 2008 R2 koje su izdane nakon objave servisnog paketa SQL Server 2008 R2 Service Pack 2

SQL Server 2008 R2 Service Pack 1

Rješenje tog problema prvi je put izdano u kumulativnom ažuriranju 8. Dodatne informacije o nabavi paketa kumulativnog ažuriranja za SQL Server 2008 R2 Service Pack 1 potražite u članku iz Microsoftove baze znanja pod sljedećim brojem:

2723743 Paket kumulativnog ažuriranja 8 za SQL Server 2008 R2 SP1Napomena Budući da su međuverzije kumulativne, svako novo izdanje popravka sadrži sve hitne popravke i sigurnosne popravke obuhvaćene prethodnim izdanjem popravka servisnog paketa Service Pack 1 za SQL Server 2008 R2. Preporučujemo da razmislite o primjeni najnovijeg izdanja popravka koji sadrži taj hitni popravak. Za više informacija kliknite sljedeći broj članka da biste prikazali članak u Microsoftovoj bazi znanja:

2567616 međuverzije SQL Server 2008 R2 izdane nakon izdanja sustava SQL Server 2008 R2 SP1

SQL Server 2012

Rješenje tog problema prvi je put objavljeno u kumulativnom ažuriranju 3 za SQL Server 2012. Dodatne informacije o tom paketu kumulativnog ažuriranja potražite u članku iz Microsoftove baze znanja pod brojem

2723749 Paket kumulativnog ažuriranja 3 za SQL Server 2012Napomena Budući da su međuverzije kumulativne, svako novo izdanje popravka sadrži sve hitne popravke i sigurnosne popravke obuhvaćene prethodnim izdanjem popravka za SQL Server 2012. Microsoft preporučuje da razmislite o primjeni najnovijeg izdanja popravka koji sadrži taj hitni popravak. Za više informacija kliknite sljedeći broj članka da biste prikazali članak u Microsoftovoj bazi znanja:

2692828 međuverzije SQL Server 2012 koje su izdane nakon objave SQL Server 2012 Na instalaciju sustava SQL Server 2012 morate primijeniti hitni popravak SQL Server 2012.

SQL Server 2008 Service Pack 3

Rješenje tog problema prvi je put objavljeno u kumulativnom ažuriranju 6 za SQL Server 2008 Service Pack 3. Dodatne informacije o tom paketu kumulativnog ažuriranja potražite u članku iz Microsoftove baze znanja pod brojem

2715953 Paket kumulativnog ažuriranja 6 za SQL Server 2008 Service Pack 3Napomena Budući da su međuverzije kumulativne, svako novo izdanje popravka sadrži sve hitne popravke i sigurnosne popravke obuhvaćene prethodnim izdanjem popravaka za SQL Server 2008. Preporučujemo da razmislite o primjeni najnovijeg izdanja popravka koji sadrži taj hitni popravak. Za više informacija kliknite sljedeći broj članka da biste prikazali članak u Microsoftovoj bazi znanja:

2629969 Međuverzije SQL Server 2008 izdane nakon objave servisnog paketa SQL Server 3 za 2008 hitni popravci sustava Microsoft SQL Server 2008 stvaraju se za određene servisne pakete SQL Server. Na instalaciju servisnog paketa SQL Server 2008 Service Pack 3 morate primijeniti hitni popravak za SQL Server 2008 Service Pack 3. Prema zadanim postavkama svi hitni popravci koji se nalaze u servisnom paketu za SQL Server uvrštavaju se u sljedeći servisni paket za SQL Server.

Status

Microsoft je potvrdio da je to problem u Microsoftovim proizvodima koji su navedeni u odjeljku „Odnosi se na“.

Zaobilazno rješenje

Da biste zaobišli taj problem, izbjegavajte korištenje paralelizma u upitu primjenom jedne od metoda:

  • Dodajte mogućnost podsjetnika za upit MAXDOP 1.
  • Postavite mogućnost Maksimalni stupanj paralelizma na 1.

Dodatne informacije

Dodatne informacije o paralelnim spajanjima raspršivanja potražite na sljedećem web-mjestu MSDN blogova:

Opće informacije o paralelnim spajanjima raspršivanja Dodatne informacije o bitmapnim filtrima izvršavanja upita potražite na sljedećem web-mjestu MSDN blogova:

Opće informacije o izvršavanju upita Bitmap filtrima