Gilt für
SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Web SQL Server 2008 R2 Standard SQL Server 2008 R2 Express SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Express SQL Server 2012 Standard SQL Server 2012 Web

Microsoft verteilt Korrekturen für Microsoft SQL Server 2008 R2 Service Pack 1 (SP1) oder Microsoft SQL Server 2008 oder Microsoft SQL Server 2012 in einer herunterladbaren Datei. Da die Fixes kumulativ sind, enthält jedes neue Release alle Hotfixes und alle Sicherheitsupdates, die im vorherigen SQL Server 2008 R2 Service Pack 1 (SP1) oder SQL Server 2008 oder Microsoft SQL Server 2012-Updaterelease enthalten waren.

Problembeschreibung

Die Wiederherstellung einer Datenbank kann in Microsoft SQL Server 2008 R2, in Microsoft SQL Server 2008 oder in Microsoft SQL Server 2012 sehr lange dauern.

Ursache

Dieses Problem tritt auf, weil es lange dauert, die VLF-Liste (Virtual Log File) zu erstellen, wenn viele VLFs in der Datenbank vorhanden sind.

Lösung

Informationen zum kumulativen Update

SQL Server 2012

Die Behebung dieses Problems wurde erstmals im kumulativen Update 1 für SQL Server 2012 veröffentlicht. Weitere Informationen zu diesem kumulativen Updatepaket finden Sie in den folgenden Artikeln der Microsoft Knowledge Base:

2679368 Kumulatives Updatepaket 1 für SQL Server 2012Note: Da die Builds kumulativ sind, enthält jedes neue Updaterelease alle Hotfixes und alle Sicherheitsfixes, die im vorherigen SQL Server 2012-Fixrelease enthalten waren. Microsoft empfiehlt, das neueste Updaterelease anzuwenden, das diesen Hotfix enthält. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:

2692828 Die SQL Server 2012-Builds, die nach der Veröffentlichung von SQL Server 2012 veröffentlicht wurden. Sie müssen einen SQL Server 2012-Hotfix auf eine Installation von SQL Server 2012 anwenden.

SQL Server 2008 Service Pack 2

Die Behebung dieses Problems wurde zuerst im kumulativen Update 8 für SQL Server 2008 Service Pack 2 veröffentlicht. Weitere Informationen zu diesem kumulativen Updatepaket finden Sie in den folgenden Artikeln der Microsoft Knowledge Base:

2648096 Kumulatives Updatepaket 8 für SQL Server 2008 Service Pack 2Note Da die Builds kumulativ sind, enthält jedes neue Updaterelease alle Hotfixes und alle Sicherheitsfixes, die im vorherigen SQL Server 2008-Fixrelease enthalten waren. Microsoft empfiehlt, das neueste Updaterelease anzuwenden, das diesen Hotfix enthält. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:

2402659 Die SQL Server 2008-Builds, die veröffentlicht wurden, nachdem SQL Server 2008 Service Pack 2 veröffentlicht wurde Microsoft SQL Server 2008-Hotfixes werden für bestimmte SQL Server Service Packs erstellt. Sie müssen einen SQL Server 2008 Service Pack 2-Hotfix auf eine Installation von SQL Server 2008 Service Pack 2 anwenden. Standardmäßig ist jeder Hotfix, der in einem SQL Server Service Pack bereitgestellt wird, im nächsten SQL Server Service Pack enthalten.

SQL Server 2008 Service Pack 3

Die Behebung dieses Problems wurde erstmals im kumulativen Update 3 für SQL Server 2008 Service Pack 3 veröffentlicht. Weitere Informationen zu diesem kumulativen Updatepaket finden Sie in den folgenden Artikeln der Microsoft Knowledge Base:

2648098 Kumulatives Updatepaket 3 für SQL Server 2008 Service Pack 3Note Da die Builds kumulativ sind, enthält jedes neue Fixrelease alle Hotfixes und alle Sicherheitsfixes, die im vorherigen SQL Server 2008-Fixrelease enthalten waren. Microsoft empfiehlt, das neueste Updaterelease anzuwenden, das diesen Hotfix enthält. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:

2629969 Die SQL Server 2008-Builds, die veröffentlicht wurden, nachdem SQL Server 2008 Service Pack 3 veröffentlicht wurde Microsoft SQL Server 2008-Hotfixes werden für bestimmte SQL Server Service Packs erstellt. Sie müssen einen SQL Server 2008 Service Pack 3-Hotfix auf eine Installation von SQL Server 2008 Service Pack 3 anwenden. Standardmäßig ist jeder Hotfix, der in einem SQL Server Service Pack bereitgestellt wird, im nächsten SQL Server Service Pack enthalten.

Kumulatives Updatepaket 11 für SQL Server 2008 R2

Die Behebung dieses Problems wurde zuerst im kumulativen Update 11 veröffentlicht. Weitere Informationen zum Abrufen dieses kumulativen Updatepakets für SQL Server 2008 R2 finden Sie im folgenden Artikel der Microsoft Knowledge Base:

2633145 Kumulatives Updatepaket 11 für SQL Server 2008 R2Note Da die Builds kumulativ sind, enthält jedes neue Fixrelease alle Hotfixes und alle Sicherheitsfixes, die im vorherigen SQL Server 2008 R2-Fixrelease enthalten waren. Es wird empfohlen, dass Sie das neueste Updaterelease anwenden, das diesen Hotfix enthält. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:

981356 Die SQL Server 2008 R2-Builds, die veröffentlicht wurden, nachdem SQL Server 2008 R2 veröffentlicht wurde

Kumulatives Updatepaket 4 für SQL Server 2008 R2 SP1

Die Behebung dieses Problems wurde zuerst im kumulativen Update 4 veröffentlicht. Weitere Informationen zum Abrufen dieses kumulativen Updatepakets für SQL Server 2008 R2 SP1 finden Sie in den folgenden Artikeln der Microsoft Knowledge Base:

2633146 Kumulatives Updatepaket 4 für SQL Server 2008 R2 SP1Note Da die Builds kumulativ sind, enthält jedes neue Updaterelease alle Hotfixes und alle Sicherheitsfixes, die im vorherigen SQL Server 2008 R2 SP1-Fixrelease enthalten waren. Es wird empfohlen, dass Sie das neueste Updaterelease anwenden, das diesen Hotfix enthält. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:

2567616 Die SQL Server 2008 R2-Builds, die nach SQL Server 2008 R2 SP1 veröffentlicht wurden

Status

Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.

Weitere Informationen

Sie können die Anzahl der VLF-Segmente überprüfen, indem Sie die SQL-Fehlerprotokolldatei überprüfen und dann die Protokollsequenznummer (Log Sequence Number, LSN) in jeder Transaktionsprotokollsicherungsdatei ermitteln. Die ersten Ziffern vor dem Doppelpunktsymbol in den LSNs entsprechen der Nummer der LSN.Beispielsweise ist die erste Zahl in der ersten Informationsmeldung für die LSN 1. Die erste Zahl in der zweiten Informationsmeldung für die LSN ist jedoch 100001. In diesem Szenario gibt es 100.000 VLFs, die zwischen dem Zeitpunkt der ersten Informationsnachricht und der zweiten Informationsnachricht verwendet werden. Daher ähnelt das protokollierte fragmentierte Transaktionsprotokoll, das viele VLFs (Virtual Log Files) enthält:

{Protokoll wurde gesichert. Datenbank: mydbname, Erstellungsdatum (Uhrzeit): 2010/07/08(12:36:46), erste LSN: 1:5068:70, letzte LSN: 1:5108:1, Anzahl der Speicherabbildgeräte: 1, Geräteinformationen: (FILE=1, TYPE=DISK: {'C:\folder\logbackup1.trn'}). Dies ist nur eine Informationsmeldung. Es ist keine Benutzeraktion erforderlich.Das Protokoll wurde gesichert. Datenbank: mydbname, Erstellungsdatum (Uhrzeit): 2010/07/08(15:36:46), first LSN: 100001:5108:1, last LSN: 100002:5108:1, Number of dump devices: 1, device information: (FILE=2, TYPE=DISK: {'C:\folder\logbackup2.trn'}). Dies ist nur eine Informationsmeldung. Es ist keine Benutzeraktion erforderlich.}

Informationsquellen

Weitere Informationen zu Protokollsequenznummern (LSN) finden Sie auf der folgenden MSDN-Website:

Allgemeine Informationen zu Protokollsequenznummern

Weitere Informationen dazu, wie sich eine Protokolldateistruktur auf die Wiederherstellungszeit der Datenbank auswirken kann, finden Sie auf der folgenden MSDN-Website:

Auswirkungen einer Protokolldateistruktur auf die Wiederherstellungszeit der DatenbankWeitere Informationen zu den Transaktionsprotokoll-VLFs finden Sie auf der folgenden MSDN-Website:

Allgemeine Informationen zur Transaktionsprotokolldatei

Problemumgehung 

  • Warten Sie, bis der Wiederherstellungsvorgang abgeschlossenist. Wenn Sie über eine nicht wiederhergestellte Datenbank verfügen, die beim Wiederherstellen oder Wiederherstellen der Datenbank eine langsame Leistung aufweist, müssen Sie möglicherweise warten, bis der Wiederherstellungsvorgang abgeschlossen ist. Beispielsweise kann die Offline-status oder die wiederherzustellende status in SQL Server Management Studio (SSMS) für eine nicht wiederhergestellte Datenbank angezeigt werden. Das Beenden SQL Server bietet in der Regel keine Entlastung für eine langsame Wiederherstellung und kann mehr Zeit in Anspruch nehmen, um dieselbe Wiederherstellungsanalysephase, Wiederholungsphase oder Rückgängig-Phase zu wiederholen.

  • Vermeiden Sie die Wiederherstellung der Transaktionsprotokollsequenz, die Tausende von VLFsenthält. Wenn die Leistung beim Wiederherstellen und Wiederherstellen einer Datenbank mithilfe einer Sicherungsdatei langsam ist, können Sie die Wiederherstellung der Transaktionsprotokollsequenzen vermeiden, die Tausende von VLFs enthalten. Um die Sicherungsdatei zu identifizieren, die die meisten virtuellen Protokolldateien enthält, verwenden Sie die folgende Anweisung, um die Spalten FirstLSN und LastLSN in den Protokollsicherungsdateien anzuzeigen: RESTORE HEADERONLY FROM DISK='C:\folder\file.trn'Sie können die Wiederherstellung der Protokollsicherungsdateien vermeiden. Alternativ können Sie die STOP AT-Anweisung in den RESTORE-Befehlen verwenden, um die stark fragmentierten Teile der Transaktionsprotokolle zu vermeiden. Wenn Sie die Protokollsequenzen während eines Fehlerwiederherstellungsszenarios nicht vollständig bis zum letzten Zeitpunkt wiederherstellen, tritt ein Datenverlust in Ihrer Datenbank SQL Server auf. Dieser Datenverlust tritt auf, weil nicht alle Transaktionen beibehalten werden. Daher gibt es eine geschäftliche Kompromissentscheidung. Sie können ein stark fragmentiertes Transaktionsprotokoll vollständig wiederherstellen. Dieser Vorgang kann jedoch viele Stunden dauern. Alternativ können Sie die STOP AT-Anweisung in der Wiederherstellung verwenden, um die Wiederherstellung vor dem stark fragmentierten Teil des Protokolls zu beenden. Fehlende Transaktionen, die Sie auslassen, gehen jedoch verloren.Hinweis Ohne installation dieses Hotfixes gibt es in der Regel keinen sicheren Rückgriff auf eine beschleunigte Wiederherstellung, nachdem Sie SQL Server neu gestartet haben. SQL Server muss die Liste der VLFs suchen, um die Protokolldateien zu analysieren, abgeschlossene Transaktionen zu wiederholen und dann unvollständige Transaktionen rückgängig zu machen, um die Wiederherstellung abzuschließen, um die Datenbank sicher online zu schalten. Transaktionen können während der Wiederherstellung nicht sicher übersprungen werden.

Benötigen Sie weitere Hilfe?

Möchten Sie weitere Optionen?

Erkunden Sie die Abonnementvorteile, durchsuchen Sie Trainingskurse, erfahren Sie, wie Sie Ihr Gerät schützen und vieles mehr.