Příznaky
V prostředí Microsoft SQL Server 2008 nebo Microsoft SQL Server 2008 R2 může obnovení databáze trvat velmi dlouho ve fázi 1, což je fáze analýzy. K tomuto problému obvykle dochází, když před vypnutím SQL serveru dochází k mnoha transakcím mezi startem a koncem posledního kontrolního bodu. Může k tomu dojít například k miliónům transakcí. Když nastane tento problém, do protokolu chyb SQL serveru se zaznamená chybová zpráva podobná následující:
Obnovení databáze 'MyDatabase' (5) je hotovo z 0% (přibližně 1234 sekund). Fáze 1 ze 3 Tato zpráva je jenom informační. Není třeba žádné akce uživatele.
K dlouhému problému může dojít také v případě, že se jedna nebo více dlouhotrvajících transakcí vrací zpět nebo pokud je v transakčním protokolu (VLFs) příliš mnoho virtuálních protokolů (). Další informace o snížení výkonu při obnovení databáze najdete v následujícím článku znalostní báze Microsoft Knowledge Base:
2455009 Oprava: když se v transakčním protokolu v SQL serveru 2005, v SQL serveru 2008 nebo v SQL serveru 2008 R2 nachází hodně VLFs, je pomalý výkon.
Příčina
K tomuto problému dochází, protože zatřiďovací tabulka není vygenerovaná dostatečnými intervaly algoritmu hash. Hledání pomocí řetězců algoritmu hash trvá příliš dlouho.
Řešení
Tento problém vyřešíte instalací této opravy hotfix.
Informace o kumulativní aktualizaci
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.
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 2
Oprava pro tento problém byla poprvé vydána v kumulativní aktualizaci 5 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:
2555408 Kumulativní aktualizace 5 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 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.
Informace o opravě hotfix
Společnost Microsoft má k dispozici podporovanou opravu hotfix. Tato oprava hotfix je však určena pouze k opravě problému popsaného v tomto článku. Tuto opravu hotfix použijte pouze u systémů, u kterých dochází k problému popsanému v tomto článku. Tato oprava hotfix může obsahovat další testování. Pokud vás tedy tento problém příliš neobtěžuje, doporučujeme, abyste počkali na další aktualizaci softwaru, která bude obsahovat tuto opravu hotfix. Pokud je oprava hotfix k dispozici ke stažení, je v horní části tohoto článku znalostní báze Knowledge Base oddíl "Oprava je k dispozici." Pokud se tento oddíl nezobrazuje, obraťte se na zákaznickou podporu Microsoftu na oddělení služeb zákazníkům a podpory. Poznámka Pokud se vyskytnou další problémy nebo pokud se vyžaduje řešení potíží, budete možná muset vytvořit samostatnou žádost o službu. Na další otázky a problémy podpory, které neopravňují tuto specifickou opravu hotfix, se budou vztahovat běžné poplatky za podporu. Úplný seznam telefonních čísel služeb pro zákazníky společnosti Microsoft a podpory pro vytvoření samostatného požadavku na službu najdete na následujícím webu společnosti Microsoft:
http://support.microsoft.com/contactus/?ws=supportPoznámka Formulář "oprava k dispozici v opravě hotfix" zobrazuje jazyky, pro které je oprava hotfix k dispozici. Pokud svůj jazyk nevidíte, je to proto, že oprava hotfix není pro tento jazyk k dispozici.
Požadavky
Abyste mohli nainstalovat tuto opravu hotfix, musíte mít nainstalovanou aktualizaci Microsoft SQL Server 2008 Service Pack 2.
Informace o restartování
Po instalaci této opravy hotfix může být nutné restartovat počítač. Proces SQL serveru však bude restartován.
Informace o nahrazení
Tato oprava hotfix nenahrazuje dříve vydanou opravu hotfix.
Informace o souborech
Anglická verze této opravy hotfix má následující (nebo pozdější) atributy souborů. Data a časy jednotlivých souborů jsou uvedeny ve formátu UTC (Coordinated Universal Time). Při zobrazení informací o souboru jsou převedeny na místní čas. Pokud chcete najít rozdíl mezi časem UTC a místním časem, použijte kartu časové pásmo na ovládacím panelu Datum a čas .
Pro všechny podporované verze SQL serveru 2008 pro platformu x86
Název souboru |
File version |
File size |
Date |
Time |
Platform |
---|---|---|---|---|---|
Sqlservr.exe |
2007.100.4286.0 |
42 793 832 |
27-May-2011 |
21:57 |
x86 |
Pro všechny podporované verze systému SQL Server 2008 s procesorem x64
Název souboru |
File version |
File size |
Date |
Time |
Platform |
---|---|---|---|---|---|
Sqlservr.exe |
2007.100.4286.0 |
57 736 040 |
27-May-2011 |
19:02 |
x64 |
Pro všechny podporované verze systému SQL Server 2008 pro platformu IA-64
Název souboru |
File version |
File size |
Date |
Time |
Platform |
---|---|---|---|---|---|
Sqlservr.exe |
2007.100.4286.0 |
111 166 312 |
27-May-2011 |
08:14 |
IA-64 |
Alternativní řešení
Pokud chcete tento problém vyřešit, proveďte jednu z následujících akcí:
-
Počkejte na dokončení obnovení.
-
Obnovte databázi ze zálohy.
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.
Další informace
Další informace o kontrolních bodech a vstupně-výstupní události z instance databázového stroje najdete na následujícím webu služby MSDN (Microsoft Developer Network):
Psaní stránekDalší informace o tom, jak se kopírují data ze zálohy a kdy se na data používají protokolované transakce, najdete v následujícím webu Microsoft Developer Network (MSDN):
Principy obnovení a obnovení práce zálohování na SQL serveru