Microsoft разпространява Microsoft SQL Server 2008 Microsoft SQL Server 2008 R2 Service Pack 1 поправя като един файл за изтегляне. Тъй като корекциите са кумулативни, всяка нова версия съдържа всички актуални корекции и всички корекции на защитата, които са били включени в предишния SQL Server 2008 Service Pack 1 или SQL Server 2008 R2 Fix Release.
Симптоми
Когато изпълнявате Вмъкване на командата ' ' ИЗбирай всички ' ' в sql Server 2008 или в sql Server 2008 R2, резултатът от командата може да бъде грешен, ако таблицата източник на клаузата Select се използва като целева таблица за клаузата INSERT . Например можете да изпълните следните изречения, за да създадете четири таблици:
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) Можете да вмъквате някои стойности в таблиците TabA, разделии TabD и след това да изпълните следната команда Изберете обединение на всички :
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В този случай получавате неправилни резултати, а някои записи не са вмъкнати неправилно в таблицата TabC .
Решение
Информация за сборна актуализация
SQL Server 2008 Service Pack 3
Корекцията за този проблем е издадена за първи път в сборна актуализация 1 за SQL Server 2008 Service Pack 3. За повече информация относно този пакет с кумулативна актуализация щракнете върху следния номер на статия, за да видите статията в базата знания на Microsoft:
2617146 Кумулативна актуализация на пакета 1 за SQL Server 2008 Service Pack 3Забележка Тъй като компилациите са кумулативни, всяко ново издание за корекция съдържа всички актуални корекции и всички корекции на защитата, които са били включени при предишното издание на SQL Server 2008 Fix. Microsoft препоръчва да обмислите прилагането на най-новото съобщение за корекция, което съдържа тази спешна корекция. За допълнителна информация щракнете върху следния номер на статия, за да прегледате статията в базата знания на Microsoft:
2629969 SQL Server 2008 изгражда, които са издадени след SQL Server 2008 Service Pack 3 е издадена Спешните корекции за Microsoft SQL Server 2008 се създават за определени сервизни пакети на SQL Server. Трябва да приложите актуална корекция за SQL Server 2008 Service Pack 3 към инсталация на SQL Server 2008 Service Pack 3. По подразбиране всяка актуална корекция, която се предоставя в сервизния пакет на SQL Server, е включена в следващия сервизен пакет на SQL Server.
SQL Server 2008 R2
Корекцията за този проблем е издадена за първи път в сборна актуализация 9. За повече информация как да получите тази кумулативна актуализация на пакета за SQL Server 2008 R2, щракнете върху следния номер на статия, за да видите статията в базата знания на Microsoft:
2567713 Кумулативна актуализация на пакета 9 за SQL Server 2008 R2 Забележка Тъй като компилациите са кумулативни, всяко ново издание за корекция съдържа всички поправки и всички корекции на защитата, които са били включени при предишното издание на SQL Server 2008 R2. Препоръчваме ви да обмислите прилагането на най-новото съобщение за корекция, което съдържа тази спешна корекция. За допълнителна информация щракнете върху следния номер на статия, за да прегледате статията в базата знания на Microsoft:
981356 SQL Server 2008 R2, които са издадени след издаването на SQL Server 2008 R2
SQL Server 2008 R2 сервизен пакет 1
Корекцията за този проблем е издадена за първи път в сборна актуализация 2 за SQL Server 2008 R2 Service Pack 1. За повече информация как да получите тази сборна актуализация, щракнете върху следния номер на статия, за да видите статията в базата знания на Microsoft:
2567714 Кумулативна актуализация на пакета 2 за SQL Server 2008 R2 Service Pack 1Забележка Тъй като компилациите са кумулативни, всяко ново издание за корекция съдържа всички поправки и всички корекции на защитата, които са били включени при предишното издание на SQL Server 2008 R2. Препоръчваме ви да обмислите прилагането на най-новото съобщение за корекция, което съдържа тази спешна корекция. За допълнителна информация щракнете върху следния номер на статия, за да прегледате статията в базата знания на Microsoft:
2567616 SQL Server 2008 R2 изгражда, които са издадени след SQL Server 2008 R2 Service Pack 1 е издадена
SQL Server 2008 Service Pack 2
Корекцията за този проблем е издадена за първи път в сборна актуализация 5 за SQL Server 2008 Service Pack 2. За повече информация относно този пакет с кумулативна актуализация щракнете върху следния номер на статия, за да видите статията в базата знания на Microsoft:
2555408 Кумулативна актуализация на пакета 5 за SQL Server 2008 Service Pack 2Забележка Тъй като компилациите са кумулативни, всяко ново издание за корекция съдържа всички актуални корекции и всички корекции на защитата, които са били включени при предишното издание на SQL Server 2008 Fix. Microsoft препоръчва да обмислите прилагането на най-новото съобщение за корекция, което съдържа тази спешна корекция. За допълнителна информация щракнете върху следния номер на статия, за да прегледате статията в базата знания на Microsoft:
2402659 SQL Server 2008 изгражда, които са издадени след инсталирането на SQL Server 2008 Service Pack 2 Спешните корекции за Microsoft SQL Server 2008 се създават за определени сервизни пакети на SQL Server. Трябва да приложите актуална корекция за SQL Server 2008 Service Pack 2 към инсталация на SQL Server 2008 Service Pack 2. По подразбиране всяка актуална корекция, която се предоставя в сервизния пакет на SQL Server, е включена в следващия сервизен пакет на SQL Server.
SQL Server 2008 Service Pack 1 сборна актуализация 14
Корекцията за този проблем е издадена за първи път в сборна актуализация 14 за SQL Server 2008 Service Pack 1. За повече информация относно този пакет с кумулативна актуализация щракнете върху следния номер на статия, за да видите статията в базата знания на Microsoft:
2527187 Кумулативна актуализация на пакета 14 за SQL Server 2008 Service Pack 1Забележка Тъй като компилациите са кумулативни, всяко ново издание за корекция съдържа всички актуални корекции и всички корекции на защитата, които са били включени при предишното издание на SQL Server 2008 Fix. Microsoft препоръчва да обмислите прилагането на най-новото съобщение за корекция, което съдържа тази спешна корекция. За допълнителна информация щракнете върху следния номер на статия, за да прегледате статията в базата знания на Microsoft:
970365 SQL Server 2008 изгражда, които са издадени след SQL Server 2008 Service Pack 1 е издадена Спешните корекции за Microsoft SQL Server 2008 се създават за определени сервизни пакети на SQL Server. Трябва да приложите актуална корекция за SQL Server 2008 Service Pack 1 към инсталация на SQL Server 2008 Service Pack 1. По подразбиране всяка актуална корекция, която се предоставя в сервизния пакет на SQL Server, е включена в следващия сервизен пакет на SQL Server.
Състоянието
Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са посочени в секцията "важи за".