Microsoft izplata Microsoft SQL Server 2008 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 labošanas laidienā.
Simptomi
Apsveriet tālāk norādītos scenārijus.
-
Jums ir vaicājums, kas izmanto funkciju ROW_NUMBER kopā ar kreiso ārējo savienojumu programmā Microsoft SQL Server 2008.
-
Jūs izveidojat priekšrakstu Select , kas izmanto vaicājumu kā apakšvaicājumu, un kas atgriež unikālās rindas, izmantojot atslēgvārdu DISTINCT .
-
Jūs izpildāt šo priekšrakstu Select .
Šajā scenārijā var tikt parādīts nepareizs rezultāts. Kreisais ārējais savienojums ir nepareizi ignorēts.Piezīme. Papildinformāciju par to, kā reproducēt šo problēmu, skatiet sadaļā "Papildinformācija" norādītās darbības, lai atveidotu šo problēmu.
Risinājums
Kumulatīvās atjaunināšanas informācija
SQL Server 2008 R2
Šīs problēmas labojums pirmo reizi tika izlaists kumulatīvajā atjauninājumā 6. 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:
2489376 Kumulatīvās atjaunināšanas pakotne 6 for 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
SQL Server 2008 1. servisa pakotne
Šīs problēmas labojums pirmo reizi tika izlaists kumulatīvajā atjauninājumā 11 SQL Server 2008 1. servisa pakotnei. Lai iegūtu papildinformāciju par šo kumulatīvās atjaunināšanas pakotni, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:
2413738 Kumulatīvās atjaunināšanas pakotne 11 SQL Server 2008 1. servisa pakotneiPiezī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 labošanas laidienā. Microsoft iesaka, ka apsveriet iespēju lietot 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:
970365 SQL Server 2008 būvējumi, kas tika izlaisti pēc tam, kad tika izlaists SQL Server 2008 1. servisa pakotne Microsoft SQL Server 2008 labojumfaili tiek izveidoti specifiskām SQL Server servisa pakotnēm. SQL Server 2008 1. servisa pakotnes labojumfails ir jālieto SQL Server 2008 1. servisa pakotnes instalēšanai. Pēc noklusējuma visi labojumfaili, kas tiek nodrošināti SQL Server servisa pakotnē, ir iekļauti nākamajā SQL Server servisa pakotnē.
SQL Server 2008 2. servisa pakotne
Šīs problēmas labojums pirmo reizi tika izlaists kumulatīvajā atjauninājumā 2 SQL Server 2008 2. servisa pakotnei. Lai iegūtu papildinformāciju par šo kumulatīvās atjaunināšanas pakotni, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:
2467239 Kumulatīvās atjaunināšanas pakotne 2 SQL Server 2008 2. servisa pakotneiPiezī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 labošanas laidienā. Microsoft iesaka, ka apsveriet iespēju lietot 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:
2402659 SQL Server 2008 būvējumi, kas tika izlaisti pēc tam, kad tika izlaista SQL Server 2008 2. servisa pakotne Microsoft SQL Server 2008 labojumfaili tiek izveidoti specifiskām SQL Server servisa pakotnēm. SQL Server 2008 2. servisa pakotnes labojumfails ir jālieto SQL Server 2008 2. servisa pakotnes instalēšanai. Pēc noklusējuma visi labojumfaili, kas tiek nodrošināti SQL Server servisa pakotnē, ir iekļauti nākamajā SQL Server servisa pakotnē.
Statusa
Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir norādīti sadaļā "attiecas uz".
Papildinformācija
Darbības šīs problēmas atveidošanai
-
Palaidiet tālāk norādītos priekšrakstus. Šie priekšraksti izveido divas tabulas un datus ievieto tabulās.
create table A (a1 int)create table B (b1 int)insert into A values(1)insert into B values(1)insert into B values(1)
-
Palaidiet tālāk norādīto priekšrakstu. Šajā priekšrakstā ir izmantota funkcija ROW_NUMBER kopā ar kreiso ārējo savienojumu.
select a1, row_number() over (partition by a1 order by a1) as a3from Aleft join B ON A.a1 = B.b1
-
Palaidiet tālāk norādīto priekšrakstu. Šis priekšraksts izmanto vaicājumu 2. darbībā kā apakšvaicājumu:
select distinct a1, a3from ( select a1, row_number() over (partition by a1 order by a1) as a3 from A left join B ON A.a1 = B.b1) as x
Piezīme.Ja rodas šī problēma, vaicājuma 3. darbībā tiek atgriezts nepareizs rezultāts.
Atsauces
Lai iegūtu papildinformāciju par funkciju ROW_NUMBER un ārējiem savienojumiem, apmeklējiet šīs Microsoft izstrādātāju tīkla (MSDN) tīmekļa vietnes.
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