Microsoft izplata Microsoft SQL Server 2008 R2 labojumus kā vienu lejupielādējamo failu. Tā kā labojumi ir kumulatīvi, katrā jaunajā laidienā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā SQL Server 2008 R2 labojuma laidienā.
Simptomi
Programmā Microsoft SQL Server 2008 R2, palaižot sarežģītu vaicājumu, kas izmanto operatoru lietot , var tikt parādīti nekonsekventi rezultāti. Piezīme. Šajā scenārijā tiek parādīts pareizs rezultāts, ja vaicājumā izmantojat pieliktā pasūtījuma vaicājuma atgādinājumu.
Cēlonis
Šī problēma rodas tāpēc, ka vaicājuma optimizētājs atlasa nepareizu izpildes plānu vaicājumam. Vaicājumu optimizētājs apstrādā funkciju Group by predikāts, lai tiktu rādītas vairākas kolonnas izpildes plāna fiziskajā operatorā. Taču operators izvades sarakstā izdzēš visas grupētās kolonnas un negrupē visas šīs kolonnas. Tāpēc vaicājumā var tikt parādīts nepareizs rezultāts. Piezīme. Fiziskā operatora piemērs ir Stream apkopojošais operators. Piemēram, vaicājuma optimizētājs izveido grupu pēc ColA, ColB klauzulas, kas iekšēji attiecas uz šādu tabulu:
ColA |
ColB |
---|---|
0 |
0 |
0 |
1 |
Vaicājumu optimizētājs var nepareizi ģenerēt izpildes plānu, kas atgriež gan kolas , gan ColB . Šīs kolonnas ir grupētas pēc kola kolonnas izvades sarakstā. Šajā piemērā vaicājums var nejauši atgriezīs vērtību 0 vai 1 kolonnā ColB , ja kolonnas kola vērtība ir 0.
Risinājums
Kumulatīvās atjaunināšanas informācija
SQL Server 2008 R2
Šīs problēmas labojums pirmo reizi tika izlaists kumulatīvajā atjaunināšanā 5. Lai iegūtu papildinformāciju par to, kā iegūt SQL Server 2008 R2 kumulatīvās atjaunināšanas pakotni, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:
2438347 Kumulatīvās atjaunināšanas pakotne 5 SQL Server 2008 R2 Piezīme. Tā kā būvējums ir kumulatīvs, katrā jaunajā laidienā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā SQL Server 2008 R2 labošanas laidienā. Iesakām apsvērt jaunāko labojumu laidienu, kurā ir iekļauts šis labojumfails. Lai iegūtu papildinformāciju, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:
981356 SQL Server 2008 R2 būvējumi, kas tika izlaisti pēc tam, kad tika izlaists SQL Server 2008 R2
Statusa
Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir norādīti sadaļā "attiecas uz".
Papildinformācija
Lai pārliecinātos, vai rodas šī problēma, pārskatiet problemātiskā vaicājuma izpildes plānu un pēc tam pārbaudiet grupas operatorus. Piemēram, pārbaudiet Stream apkopojošo operatoru, hash apkopojošo operatoru, atdalītāju kārtošanas operatoru un segmenta operatoru. Ja izvades kolonnu saraksts ir garāks nekā grupēto kolonnu saraksts, šī problēma rodas.
Atsauces
Lai iegūtu papildinformāciju par papildu apkalpošanas modeli SQL Server, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:
935897 SQL Server komandā ir pieejams papildu apkalpošanas modelis, kas sniedz labojumfailus ziņotām problēmāmLai iegūtu papildinformāciju par nosaukumdošanas shēmu SQL Server atjauninājumiem, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:
822499Jauna nosaukuma shēma Microsoft SQL Server programmatūras atjaunināšanas pakotnēmLai iegūtu papildinformāciju par programmatūras atjaunināšanas terminoloģiju, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:
824684 Apraksts par standarta terminoloģiju, kas tiek izmantota Microsoft programmatūras atjauninājumu aprakstos