Microsoft izplata Microsoft SQL Server 2008 vai 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 vai SQL Server 2008 R2 labošanas laidienā.
Simptomi
Ja palaižat sarežģītu atjaunināšanas vaicājumu, kas izmanto savienojuma operatoru izpildes plānā programmā Microsoft sql Server 2008 vai Microsoft sql Server 2008 R2, var tikt parādīti nepareizi rezultāti. Piezīme. Atjaunināšanas vaicājumā var būt Apakšvaicājumi, Uzkrātās funkcijas un atšķirīga klauzula. Ja to pašu vaicājumu izpildāt programmā Microsoft SQL Server 2008 vai Microsoft SQL Server 2008 R2 paralēlās datu noliktavā, iespējams, saņemsit citu nepareizo rezultātu kopu. Piemēram, palaižot šādu kodu, var tikt parādīti nepareizi rezultāti:
UPDATE RB SET rb1 = (SELECT AVG(DISTINCT T2_1.C1) AS C1 FROM (SELECT DISTINCT T3_1.C3 AS C1, T3_1.C5 AS C2 FROM (SELECT T5_1.c2 AS C1, T5_1.c2 AS C2, T5_1.c3 AS C3, T5_1.c3 AS C4, T5_1.c2 AS C5 FROM DC AS T5_1 UNION SELECT T5_1.c2 AS C1, T5_1.c3 AS C2, T5_1.c2 AS C3, T5_1.c2 AS C4, T5_1.c3 AS C5 FROM DC AS T5_1) AS T3_1) AS T2_1 WHERE (T2_1.C1 = rb3)), rb2 = (SELECT COUNT_BIG(DISTINCT T2_1.C1) AS C1 FROM (SELECT DISTINCT T3_1.C1 AS C1 FROM (SELECT T5_1.rc2 AS C1 FROM RC AS T5_1 UNION ALL SELECT T5_1.c3 AS C1 FROM DC AS T5_1) AS T3_1) AS T2_1 WHERE (T2_1.C1 > rb1)), rb3 = (SELECT COUNT_BIG(*) AS C1 FROM (SELECT DISTINCT T3_1.C1 AS C1, T3_1.C2 AS C2, T3_1.C3 AS C3, T3_1.C4 AS C4, T3_1.C5 AS C5, T3_1.C6 AS C6, T3_1.C7 AS C7, T3_1.C8 AS C8, T3_1.C9 AS C9, T3_1.C10 AS C10 FROM (SELECT T5_1.b2 AS C1, T5_1.b1 AS C2, T5_1.b3 AS C3, T5_1.b2 AS C4, T5_1.b2 AS C5, T5_1.b2 AS C6, T5_1.b2 AS C7, T5_1.b1 AS C8, T5_1.b2 AS C9, T5_1.b3 AS C10 FROM DB AS T5_1 UNION SELECT T5_1.ra3 AS C1, T5_1.ra3 AS C2, T5_1.ra3 AS C3, T5_1.ra3 AS C4, T5_1.ra2 AS C5, T5_1.ra3 AS C6, T5_1.ra1 AS C7, T5_1.ra1 AS C8, T5_1.ra1 AS C9, T5_1.ra1 AS C10 FROM RA AS T5_1) AS T3_1) AS T2_1 WHERE (T2_1.C2 <= rb3)) WHERE rb1 IN (SELECT T2_1.C1 AS C1 FROM (SELECT T4_1.a2 AS C1, T4_1.a1 AS C2, T4_1.a1 AS C3, T4_1.a2 AS C4, T4_1.a1 AS C5, T4_1.a2 AS C6, T4_1.a3 AS C7, T4_1.a1 AS C8 FROM DA AS T4_1 WHERE (T4_1.a1 > (SELECT MIN(DISTINCT T5_1.b3) AS C1 FROM DB AS T5_1 WHERE (T5_1.b3 <= T4_1.a1))) UNION ALL SELECT T4_1.a2 AS C1, T4_1.a2 AS C2, T4_1.a1 AS C3, T4_1.a1 AS C4, T4_1.a1 AS C5, T4_1.a1 AS C6, T4_1.a1 AS C7, T4_1.a3 AS C8 FROM DA AS T4_1) AS T2_1);
Cēlonis
Šī problēma rodas kļūdas dēļ SQL Server vaicājumu optimizētājs.
Risinājums
Kumulatīvās atjaunināšanas informācija
SQL Server 2008 2. servisa pakotne
Šīs problēmas labojums pirmo reizi tika izlaists kumulatīvajā atjauninājumā 6 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:
2582285 Kumulatīvās atjaunināšanas pakotne 6 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ē.
SQL Server 2008 R2
Šīs problēmas labojums pirmo reizi tika izlaists kumulatīvajā atjaunināšanā 9. 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:
2567713 Kumulatīvo atjauninājumu pakotne 9 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 R2 1. servisa pakotne
Šīs problēmas labojums pirmo reizi tika izlaists SQL Server 2008 R2 1. servisa pakotnei. Lai iegūtu papildinformāciju par to, kā iegūt šo kumulatīvo atjaunināšanas pakotni, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:
2567714 Kumulatīvās atjaunināšanas pakotne 2 SQL Server 2008 R2 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 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:
2567616 SQL Server 2008 R2 būvējumi, kas tika izlaisti pēc tam, kad tika izlaista SQL Server 2008 R2 1. servisa pakotne
SQL Server 2008 1. servisa pakotne
Šīs problēmas labojums pirmo reizi tika izlaists kumulatīvajā atjauninājumā 15 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:
2555406 Kumulatīvās atjaunināšanas pakotne 15 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ē.
Statusa
Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir norādīti sadaļā "attiecas uz".
Atsauces
Lai iegūtu papildinformāciju par paralēlo datu noliktavu, apmeklējiet šo Microsoft tīmekļa vietni:
Vispārīga informācija par paralēlo datu noliktavuLai 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:
822499 Jauna 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