KB2653893 – FIX: obnovení databáze na serveru SQL Server 2008 R2 nebo SQL Server 2008 nebo v systému SQL 2012 trvá příliš dlouho

Společnost Microsoft distribuuje Microsoft SQL Server 2008 R2 Service Pack 1 (SP1) nebo Microsoft SQL Server 2008 nebo Microsoft SQL Server 2012 v jednom souboru ke stažení. Vzhledem k tomu, ž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ích verzí systému SQL Server 2008 R2 Service Pack 1 (SP1) nebo SQL Server 2008 nebo Microsoft SQL Server 2012 Update.

Příznaky

Obnovení databáze v Microsoft SQL serveru 2008 R2 nebo Microsoft SQL serveru 2008 nebo Microsoft SQL serveru 2012 může nějakou dobu trvat.

Příčina

K tomuto problému dochází, protože když je v databázi hodně VLFs, sestavte seznam virtuálních protokolů (VLF) příliš dlouho.

Řešení

Informace o kumulativní aktualizaci

SQL Server 2012

Oprava pro tento problém byla poprvé vydána v kumulativní aktualizaci 1 pro SQL Server 2012. Další informace o tomto kumulativním balíčku aktualizací najdete v následujícím článku znalostní báze Microsoft Knowledge Base:

2679368 Kumulativní aktualizace 1 pro SQL Server 2012Pozná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 2012 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:

2692828 Buildy SQL Server 2012, které byly vydány po vydání SQL Server 2012 Na instalaci SQL serveru 2012 musíte použít opravu hotfix systému SQL Server 2012.

SQL Server 2008 Service Pack 2

Oprava pro tento problém byla poprvé vydána v kumulativní aktualizaci 8 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:

2648096 Kumulativní aktualizace 8 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 3

Oprava pro tento problém byla poprvé vydána v kumulativní aktualizaci 3 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:

2648098 Kumulativní balíček aktualizací 3 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í aktualizace 11 pro 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 R2Pozná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

Kumulativní aktualizace 4 pro SQL Server 2008 R2 SP1

Oprava pro tento problém byla poprvé vydána v kumulativní aktualizaci 4. Další informace o tom, jak získat tento kumulativní balíček aktualizací pro SQL Server 2008 R2 SP1, najdete v následujícím článku znalostní báze Microsoft Knowledge Base:

2633146 Kumulativní aktualizace 4 pro SQL Server 2008 R2 SP1Pozná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í verze systému SQL Server 2008 R2 s aktualizací SP1. 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 Buildy SQL Server 2008 R2 vydaná po vydání SQL serveru 2008 R2 SP1

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

Počet VLF segmentů můžete zkontrolovat v souboru protokolu chyb SQL a pak najít pořadové číslo položky (LSN) v každém záložním souboru protokolu transakcí. První číslice před symbolem dvojtečky v LSNs odpovídají číslu položky LSN. První číslo první informační zprávy pro hodnotu LSN je třeba 1. První číslo druhé informační zprávy pro hodnotu LSN je však 100001. V tomto scénáři jsou 100 000 VLFs, které se používají mezi časem první informační zprávy a druhé informační zprávy. Proto bude protokol protokolovaných fragmentovaných transakcí, který má mnoho virtuálních souborů protokolu (VLFs), vypadat takto:

Byl zálohován {log. Databáze: mydbname, datum vytvoření (čas): 2010/07/8 (12:36:46), první hodnota LSN: 1:5068:70, poslední hodnota LSN: 1:5108:1, počet zařízení se zápisem: 1, informace o zařízení: (FILE = 1, TYPE = DISK: {' C:\folder\logbackup1.trn '}). Tato zpráva je jenom informační. Není třeba žádné akce uživatele. Protokol byl zálohován. Databáze: mydbname, datum vytvoření (čas): 2010/07/8 (15:36:46), první hodnota LSN: 100001:5108:1, poslední hodnota LSN: 100002:5108:1, počet vykládacích zařízení: 1, informace o zařízení: (FILE = 2; TYPE = DISK: {' C:\folder\logbackup2.trn '}). Tato zpráva je jenom informační. Není třeba žádné akce uživatele.}

Odkazy

Další informace o pořadových číslech (LSN) najdete na následujícím webu MSDN:

Obecné informace o pořadových číslech protokolů

Další informace o tom, jak může struktura souborů protokolu ovlivnit dobu obnovení databáze, najdete na následujícím webu MSDN:

Vliv struktury souborů protokolu na dobu obnovení databázeDalší informace o VLFs transakčního protokolu najdete na následujícím webu MSDN:

Obecné informace o souboru protokolu transakcí

Alternativní řešení

  • Počkejte na dokončení operace obnovení nebo obnovení.Pokud máte Neobnovenou databázi, která má při obnovení nebo obnovení databáze pomalý výkon, možná budete muset počkat na dokončení operace obnovení nebo obnovení. Ve službě SQL Server Management Studio (SSMS) se může například zobrazit stav offline nebo obnovení stavu databáze, která není obnovená. Zastavení SQL serveru obvykle neposkytuje žádné úlevy pro pomalé obnovení a může to trvat déle, než se opakuje stejná fáze analýzy obnovení, fáze znovu nebo zpět.

  • Neobnovujte sekvenci protokolu transakcí, která obsahuje tisíce VLFsPokud se při obnovení a obnovení databáze pomocí záložního souboru setkáte pomalu, můžete se vyhnout obnovení sekvencí transakčního protokolu, které obsahují tisíce VLFs. Pokud chcete identifikovat záložní soubor s nejvyšším zaznamenaným virtuálním souborem protokolu, použijte následující příkaz k zobrazení sloupců FirstLSN a LastLSN v souboru protokolu zálohování: obnovení HEADERONLY z disku = ' C:\folder\file.trn '. můžete se rozhodnout neobnovit záložní soubory protokolu. Nebo můžete použít příkaz STOP AT v příkazech obnovit, abyste předešli nefragmentovaným částem protokolů transakcí. Pokud neprovedete úplné obnovení sekvencí protokolů až do posledního bodu v čase při zotavení po selhání, dojde ke ztrátě dat v databázovém serveru SQL. Tato ztráta dat nastane, protože se neuchovávají všechny transakce. Proto existuje rozhodnutí o kompromisech firmy. Můžete úplně obnovit vysoce fragmentovaný transakční protokol. Tato operace však nemusí spoustu hodin trvat. Nebo můžete pomocí příkazu STOP AT v obnovení zastavit obnovení před vysoce fragmentován částí protokolu. Všechny chybějící transakce, které vynecháte, však ztratí.Poznámka Bez instalace této opravy hotfix se obvykle nepoužívá pro urychlené obnovení žádné bezpečné, po restartování SQL serveru. SQL Server musí vyhledat seznam VLFs, abyste mohli analyzovat soubory protokolu, opakovat dokončené transakce a pak vrátit nedokončené transakce, abyste mohli dokončit obnovení databáze online. Během obnovení nelze transakce bezpečně přeskočit.

Potřebujete další pomoc?

Rozšiřte své znalosti a dovednosti
Projít školení
Získejte nové funkce jako první
Připojit se k programu Microsoft Insider

Byly tyto informace užitečné?

Děkujeme za váš názor!

Děkujeme vám za váš názor! Pravděpodobně bude užitečné, když vás spojíme s některým z našich agentů podpory Office.

×