Sümptomid
Oletagem, et käivitate päringu, mis sisaldab UNION tehtemärk kasutades paralleelne päringu plaan Microsoft SQL Server 2008 R2, SQL Server 2012 või SQL Server 2014. Voo kokkuvõttemärk võib luua duplikaatread, kui täidetud on järgmised tingimused:
- Päring kasutab fikseeritud väärtusega konstanti või veergu (nt mis tuleneb predikaadist nagu veerg = <konstant> , kui veerg on valitud).
- SQL Server kasutab paralleelset päringu täitmise kava, mis sisaldab konstanti või fikseeritud väärtusel koondavat voo kokkuvõtte tehtemärki (selle voo kokkuvõttetehtemärgi saab eristatava väljundi toomiseks lisada päringutesse, mis sisaldavad union-tehtemärki).
Lahendus
SQL Server 2012
Selle probleemi lahendamiseks SQL Server 2012 korral rakendage SQL Server 2012 hoolduspakett Service Pack 2. Lisateavet versioonis SQL Server 2012 SP2 parandatud vigade kohta klõpsake Microsofti teabebaasi artikli kuvamiseks järgmist artiklinumbrit.
SQL Server 2012 hoolduspaketis Service Pack 2 parandatud vead 2958429
Probleem lahendati esmalt järgmises SQL Server koondvärskenduses.
koondvärskendus 13 SQL Server 2008 R2 SP2 /en-us/help/2967540
SQL Server 2014 koondvärskendus 2 /en-us/help/2967546
SQL Server 2012 SP1 koondvärskendus 10 /en-us/help/2954099
Teave SQL Server koondvärskenduste kohta
Iga uus koondvärskendus SQL Server sisaldab kõiki kiirparandusi ja kõiki turbeparandusi, mis olid kaasatud eelmise koondvärskenduse. Vaadake uusimaid SQL Server koondvärskendusi.
- Uusim koondvärskendus SQL Server 2008 R2 SP2 jaoks
- Uusim koondvärskendus SQL Server 2014 jaoks
- Uusim koondvärskendus SQL Server 2012 SP1 jaoks
Olek
Microsoft on kinnitanud, et see on jaotises „Rakenduskoht“ loetletud Microsofti toodete korral esinev probleem.