KB2530921-Labojums: nepareizi rezultāti, palaižot ievietošanas SELECT UNION ALL priekšraksts SQL Server 2008 vai SQL Server 2008 R2

Microsoft izplata Microsoft SQL Server 2008 Microsoft SQL Server 2008 R2 Service Pack 1, kā vienu lejupielādējamu 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 1. servisa pakotnē vai SQL Server 2008 R2 labošanas laidienā.

Simptomi

Ja palaižat ievietošanas Select Union All priekšraksts programmā sql Server 2008 vai sql Server 2008 R2, priekšraksta rezultāts var būt nepareizs, ja tiek lietota klauzulasSelect avota tabula. Piemēram, izpildot tālāk norādītos priekšrakstus, varat izveidot četras tabulas:

CREATE TABLE [TabA] (M VARCHAR(20), W VARCHAR(20)) CREATE TABLE [TabB] (M VARCHAR(20), W VARCHAR(20), R VARCHAR(20)) CREATE TABLE [TabC] (P VARCHAR(6), M CHAR(20), A NUMERIC(13)) CREATE TABLE [TabD] (P VARCHAR(6), W VARCHAR(20), M VARCHAR(20), D NUMERIC(13), E DATETIME, F DATETIME) Dažas vērtības tiek ievietotas tabulās TabA, cilnēsun TabD , un pēc tam izpildiet tālāk norādīto ievietošanas opciju .

INSERT INTO [TabC] (P, M, A) SELECT T1.P,T1.M,T1.D / SUM(1) OVER(PARTITION BY P) FROM [TabD] T1 INNER JOIN [TabA] T2 ON (T1.M = T2.M AND T1.W = T2.W) WHERE NOT EXISTS (SELECT * FROM [TabC] E1 WHERE T1.P = E1.P) UNION ALL SELECT T1.P,T2.M,T1.D / SUM(1) OVER(PARTITION BY P) FROM [TabD] T1 INNER JOIN [TabB] T2 ON (T1.M = T2.R AND T1.W = T2.W) WHERE NOT EXISTS (SELECT * FROM [TabC] E1 WHERE T1.P = E1.P) GOŠajā scenārijā tiek parādīti nepareizi rezultāti, un daži ieraksti nav nepareizi ievietoti tabulā TabC .

Risinājums

Kumulatīvās atjaunināšanas informācija

SQL Server 2008 3. servisa pakotne

Šīs problēmas labojums pirmo reizi tika izlaists SQL Server 2008 3. servisa pakotnē iekļautajā kumulatīvajā atjauninājumā 1. 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:

2617146 Kumulatīvās atjaunināšanas pakotne 1 SQL Server 2008 3. 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:

2629969 SQL Server 2008 būvējumi, kas tika izlaisti pēc SQL Server 2008 3. servisa pakotnes izlaišanas Microsoft SQL Server 2008 labojumfaili tiek izveidoti specifiskām SQL Server servisa pakotnēm. SQL Server 2008 Service Pack 3 labojumfails ir jālieto SQL Server 2008 3. 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 2. servisa pakotne

Šīs problēmas labojums pirmo reizi tika izlaists kumulatīvajā atjauninājumā 5 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:

2555408 Kumulatīvās atjaunināšanas pakotne 5 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 1. servisa pakotne, kumulatīvais atjauninājums 14

Šīs problēmas labojums pirmo reizi tika izlaists kumulatīvajā atjauninājumā 14 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:

2527187 Kumulatīvās atjaunināšanas pakotne 14 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".

Vai nepieciešama papildu palīdzība?

Paplašiniet savas prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Microsoft Insider

Vai šī informācija bija noderīga?

Paldies par jūsu atsauksmēm!

Paldies par atsauksmēm! Šķiet, ka jums varētu būt noderīgi sazināties ar kādu no mūsu Office atbalsta speciālistiem.

×