Společnost Microsoft distribuuje Microsoft SQL Server 2008 nebo Microsoft SQL Server 2008 R2 opravy jako jeden soubor ke stažení. Protože jsou opravy kumulativní, každá nová verze obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozího SQL serveru 2008 nebo SQL serveru 2008 R2 fix release.
Příznaky
Když spustíte složitý aktualizační dotaz, který používá operátor Join v plánu provádění v Microsoft SQL serveru 2008 nebo Microsoft sql serveru 2008 R2, může se zobrazit nesprávný výsledek. Poznámka Aktualizační dotaz může obsahovat poddotazy, agregační funkce a klauzuli DISTINCT . Pokud spustíte stejný dotaz v Microsoft SQL serveru 2008 nebo Microsoft SQL Server 2008 R2 Parallel Data Warehouse, může se vám zobrazit další sada nesprávných výsledků. Když spustíte následující kód, může se zobrazit nesprávné výsledky:
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);
Příčina
K tomuto problému dochází kvůli chybě v optimalizátoru dotazů SQL serveru.
Řešení
Informace o kumulativní aktualizaci
SQL Server 2008 Service Pack 2
Oprava pro tento problém byla poprvé vydána v kumulativní aktualizaci 6 pro SQL Server 2008 Service Pack 2. Další informace o tomto kumulativním balíčku aktualizací najdete v následujícím článku znalostní báze Microsoft Knowledge Base:
2582285 Kumulativní balíček aktualizací 6 pro SQL Server 2008 Service Pack 2Poznámka Vzhledem k tomu, že buildy jsou kumulativní, každá nová oprava obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozího SQL serveru 2008 Oprava. Společnost Microsoft doporučuje zvážit použití nejnovější opravy, která obsahuje tuto opravu hotfix. Další informace naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
2402659 Buildy SQL Server 2008, které byly vydány po vydání SQL Server 2008 Service Pack 2 Pro určité aktualizace SQL serveru jsou vytvořené opravy hotfix Microsoft SQL serveru 2008. Na instalaci SQL serveru 2008 Service Pack 2 musíte použít opravu hotfix systému SQL Server 2008 Service Pack 2. Ve výchozím nastavení je každá oprava hotfix, která je součástí aktualizace Service Pack systému SQL Server, součástí další aktualizace Service Pack systému SQL Server.
SQL Server 2008 R2
Oprava pro tento problém byla poprvé vydána v kumulativní aktualizaci 9. Další informace o tom, jak získat tento kumulativní balíček aktualizací pro SQL Server 2008 R2, najdete v následujícím článku znalostní báze Microsoft Knowledge Base:
2567713 Kumulativní balíček aktualizací 9 pro SQL Server 2008 R2 Poznámka Vzhledem k tomu, že buildy jsou kumulativní, každá nová oprava obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozího SQL serveru 2008 R2 fix release. Doporučujeme zvážit použití nejnovější opravy, která obsahuje tuto opravu hotfix. Další informace naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
981356 Buildy SQL Server 2008 R2 vydaná po vydání SQL serveru 2008 R2
SQL Server 2008 R2 Service Pack 1
Oprava pro tento problém byla poprvé vydána v kumulativní aktualizaci 2 pro SQL Server 2008 R2 Service Pack 1. Další informace o tom, jak získat tento kumulativní balíček aktualizací, najdete v následujícím článku znalostní báze Microsoft Knowledge Base:
2567714 Kumulativní aktualizace 2 pro SQL Server 2008 R2 Service Pack 1Poznámka Vzhledem k tomu, že buildy jsou kumulativní, každá nová oprava obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozího SQL serveru 2008 R2 fix release. Doporučujeme zvážit použití nejnovější opravy, která obsahuje tuto opravu hotfix. Další informace naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
2567616 Sestavení SQL Server 2008 R2, která byla vydána po SQL serveru 2008 R2 Service Pack 1, byla vydána
SQL Server 2008 Service Pack 1
Oprava pro tento problém byla poprvé vydána v kumulativní aktualizaci 15 pro SQL Server 2008 Service Pack 1. Další informace o tomto kumulativním balíčku aktualizací najdete v následujícím článku znalostní báze Microsoft Knowledge Base:
2555406 Kumulativní balíček aktualizací 15 pro SQL Server 2008 Service Pack 1Poznámka Vzhledem k tomu, že buildy jsou kumulativní, každá nová oprava obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozího SQL serveru 2008 Oprava. Společnost Microsoft doporučuje zvážit použití nejnovější opravy, která obsahuje tuto opravu hotfix. Další informace naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
970365 Buildy SQL Server 2008, které byly vydány po vydání SQL Server 2008 Service Pack 1 Pro určité aktualizace SQL serveru jsou vytvořené opravy hotfix Microsoft SQL serveru 2008. Na instalaci SQL serveru 2008 Service Pack 1 musíte použít opravu hotfix systému SQL Server 2008 Service Pack 1. Ve výchozím nastavení je každá oprava hotfix, která je součástí aktualizace Service Pack systému SQL Server, součástí další aktualizace Service Pack systému SQL Server.
Stav
Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.
Odkazy
Další informace o paralelním datovém skladu najdete na následujícím webu společnosti Microsoft:
Obecné informace o Parallel Data WarehouseDalší informace o modelu přírůstkové obsluhy pro SQL Server najdete v následujícím článku znalostní báze Microsoft Knowledge Base:
935897 Model přírůstkové obsluhy je dostupný od týmu SQL serveru a poskytuje opravy hotfix pro nahlášené problémy.Další informace o schématu přidělování názvů pro aktualizace systému SQL Server najdete v následujícím článku znalostní báze Microsoft Knowledge Base:
822499 Nové schéma přidělování názvů balíčkům aktualizací softwaru pro Microsoft SQL ServerDalší informace o terminologii aktualizací softwaru najdete v následujícím článku znalostní báze Microsoft Knowledge Base:
824684 Popis standardní terminologie používané při popisu aktualizací softwaru společnosti Microsoft