Společnost Microsoft distribuuje Microsoft SQL Server 2008 Service Pack 2 (SP2) 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 aktualizace zabezpečení, které byly součástí předchozí verze aktualizace SQL Server 2008 SP2 nebo SQL Server 2008 R2 Update.
Příznaky
Zvažte následující scénář:
-
Na počítači, na kterém běží Microsoft SQL Server 2008 nebo Microsoft SQL Server 2008 R2, můžete vytvořit propojený server. Odkazovaný server odkazuje na zdroj dat OLE DB na vzdáleném serveru.
-
Spustíte distribuovaný dotaz, který na propojeném serveru používá některé datové objekty.
-
Na vzdáleném serveru provádíte nějaké operace a operace pro datové objekty způsobují více než pět aktualizací verzí schématu. Vytvořte například index tabulky na vzdáleném serveru a aktualizujte verzi schématu tabulky na propojeném serveru.Poznámka Operace provedete před dalším spuštěním dotazu.
-
Pak znovu spustíte distribuovaný dotaz na propojeném serveru.
V tomto scénáři se dotaz nezkompiluje a zobrazí se chybová zpráva podobná této:
Server: Msg 7359, číslo úrovně, číslo krajníhořádku, číslo řádkuzprostředkovatele OLE DB "názevzprostředkovatele" pro odkazovaný servernázev odkazovanéhoserveru ("Doba kompilace") a doba spuštění ("Doba spuštění") pro tabulku "název propojené tabulky".
Poznámky
-
Název poskytovatele je zástupný symbol pro název zprostředkovatele OLE DB.
-
Název odkazované tabulky je zástupný symbol pro název tabulky, který je dotazován na odkazovaný server.
-
Následující příkazy obvykle mění verzi schématu:
-
ALTER TABLE
-
VYTVOŘIT INDEX
-
DROP INDEX
-
PŘÍKAZ DBCC REINDEXING
-
Příčina
K tomuto problému dochází, protože je dosaženo limitu opětovných kompilací pro dotazy. Po provedení změny schématu jsou některé objekty v mezipaměti zrušeny a dotaz vyžaduje operaci překompilace. Limit pro rekompilaci je však dosažen po více než pěti změnách, které aktualizují verzi schématu. Proto se problém uvedený v části Příznaky vyskytne.
Řešení
Informace o kumulativní aktualizaci
SQL Server 2008 R2
Oprava pro tento problém byla poprvé vydána v kumulativní aktualizaci 11. 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:
2633145 Kumulativní aktualizace 11 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 4 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:
2633146 Kumulativní aktualizace 4 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 3
Oprava pro tento problém byla poprvé vydána v kumulativní aktualizaci 1 pro SQL Server 2008 Service Pack 3. Další informace o tomto kumulativním balíčku aktualizací najdete v následujícím článku znalostní báze Microsoft Knowledge Base:
2617146 Kumulativní aktualizace 1 pro SQL Server 2008 Service Pack 3Pozná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:
2629969 Buildy SQL Server 2008, které byly vydány po vydání SQL Server 2008 Service Pack 3 Pro určité aktualizace SQL serveru jsou vytvořené opravy hotfix Microsoft SQL serveru 2008. Na instalaci SQL serveru 2008 Service Pack 3 musíte použít opravu hotfix systému SQL Server 2008 Service Pack 3. 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.
Kumulativní balíček aktualizací 6 pro SQL Server 2008 SP2
Oprava pro tento problém byla poprvé vydána v kumulativní aktualizaci balíčku 6. Další informace o tom, jak získat tento kumulativní balíček aktualizací pro SQL Server 2008 SP2, 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 Protože jsou buildy kumulativní, každá nová aktualizace obsahuje všechny opravy hotfix a všechny aktualizace zabezpečení, které byly součástí předchozí verze aktualizace SQL Server 2008 SP2. Doporučujeme zvážit použití nejnovější aktualizace, 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 SP2
Alternativní řešení
Jako alternativní řešení použijte jednu z následujících metod:
-
Spusťte příkaz DBCC FREEPROCCACHE(' plan_handle '). Další informace o parametru plan_handle najdete na následujícím webu MSDN:
-
Spusťte uloženou proceduru sp_refreshView viewName.Poznámka Tento postup nefunguje, pokud je nainstalovaná kumulativní aktualizace 3 pro SQL Server 2008 SP2.
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.