Bestimmte Datenbankvorgänge werden eine sehr lange Dauer absolviert oder Fehler auftreten, wenn das Transaktionsprotokoll zahlreiche virtuelle Protokolldateien verfügt

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 2028436 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Problembeschreibung

Sie können die folgenden Probleme auftreten:
  1. Eine oder mehrere Datenbanken sehr lange dauern die Wiederherstellung während des Starts von SQL Server beenden
  2. Wenn Sie die Wiederherstellung einer Datenbank durchführen, dauert es sehr lange abgeschlossen
  3. Versucht, eine Datenbank anzufügen nimmt eine sehr lange Zeit in Anspruch
  4. Wenn Sie versuchen, Setup der Datenbankspiegelung Sie Begegnung Fehlermeldungen 1413, 1443 und 1479, die einen Timeout angibt.
  5. Arbeitsspeicher auftreten Fehlern wie 701, wenn Sie versuchen, eine Datenbank wiederherzustellen.

Wenn Sie das SQL Server-Fehlerprotokoll überprüfen, bemerken Sie, dass eine längere Zeitspanne vor der Analysephase bei der Wiederherstellung der Datenbank ausgegeben wird.
2010-05-08-14:42:38.65-spid22s Datenbank 'Lot_of_vlfs' gestartet.
2010-05-08-14:46:04.76 spid22s-Analyse der Datenbank 'Lot_of_vlfs' (16) ist 0 % abgeschlossen (ungefähr 0 Sekunden verbleiben). Phase 1 von 3. Dies ist nur eine Informationsmeldung. Es ist keine Handlung des Benutzers erforderlich.

Ursache

Bei den ersten Schritten bei der Wiederherstellung einer Datenbank die SQL Server-Proforms eine Ermittlung aller virtuellen Protokolldateien in alle Transaktionsprotokolldateien vorhanden. Es wird eine Liste aller virtuellen Protokolldateien erstellt. Dieser Vorgang dauert sehr lange abhängig von der Anzahl der virtuellen Protokolldateien in die Datenbank vorhanden. Eine Datenbank kann eine große Anzahl virtueller Protokolldateien am Ende, wenn die Transaktionsprotokoll Begegnungen häufige automatische mit dem Wachstum für sehr kleine Größe erhöht Vergrößerung.

Normalerweise beginnen Sie, wenn die Anzahl der virtuellen Protokolldateien im Bereich von einigen hunderttausend ist im Abschnitt "Problembeschreibung" genannten Probleme auftreten.

Lösung

Die Methoden aus der folgenden Blog können Sie die Anzahl der virtuellen Protokolldateien in einer bestimmten Datenbank finden:
Wie kann eine Log-Dateistruktur Datenbank Auswirkungen auf die Wiederherstellungszeit
Sie müssen möglicherweise die Gesamtzahl der virtuellen Protokolldateien unter einer angemessenen Anzahl wie 10.000 beibehalten.

Sie können die Transaktionsprotokolldatei enthält nur eine begrenzte Anzahl von virtuellen Protokolldateien mit den folgenden Methoden neu konfigurieren:
  1. Verkleinern die Transaktionsprotokolldateien, die Dateien auf den erforderlichen Längen manuell mithilfe der TSQL ALTER DATABASE vergrößert <database name="">MODIFY FILE (NAME = 'logischen Dateinamen Transaktion log', Größe = <required size="">)</required> </database>
  2. Die Transaktionslog-Datei neu zu erstellen und dann die Transaktionsprotokolldateien manuell zum erforderlichen Längen wachsen
    1. Wenn die Datenbank zuvor Herunterfahren sauber [mit keine Benutzer oder offene Buchungen] war, Sie können dabei FOR ATTACH_REBUILD_LOG Option von CREATE DATABASE, um eine neue Transaktionsprotokolldatei erstellen.
    2. Wenn eine Datenbank für Lese-/Schreibzugriff verfügt automatisch über eine einzelne Protokolldatei an, die derzeit nicht verfügbar ist und wenn die Datenbank heruntergefahren wurde [für keine Benutzer oder offene Buchungen] säubern, bevor Sie beim Anfügen, Option von CREATE DATABASE FOR ATTACH erstellt die Datei neu und aktualisiert die primäre Datei.

Nachdem Sie das Layout der Transaktionsprotokolldatei neu konfigurieren, überprüfen und nehmen Änderungen an die automatische Vergrößerung von Einstellungen für die Transaktionsprotokolldatei, um auftreten dasselbe Problem in Zukunft zu vermeiden.

Hinweis Bevor Sie einen dieser Vorgänge ausführen, stellen Sie sicher, dass Sie eine gültige wiederherstellbare Sicherung verfügen, für den Fall, dass Sie später auf Probleme treffen.

2524743 Update: Die Recovery dauert länger als erwartet für eine Datenbank in einer SQL Server 2008 oder SQL Server 2008 R2-Umgebung

2455009 Update: Geringe Leistung, wenn Sie eine Datenbank wiederherstellen, wenn es viele VLFs innerhalb des Transaktionsprotokolls in SQL Server 2005, SQL Server 2008 oder SQL Server 2008 R2 gibt

2653893 Update: Es dauert eine lange Zeit zum Wiederherstellen einer Datenbank in SQL Server 2008 R2

979042 Update: Die Prinzipaldatenbank wird nicht wiederhergestellt, wenn die Datenbank eine große Anzahl virtueller Protokolldateien in SQL Server 2005 oder SQL Server 2008

Weitere Informationen

Vollständige Informationen zu virtuellen Protokolldateien finden Sie in der Onlinedokumentation: Physische Architektur des Transaktionsprotokolls
Diskussionen zu diesem Problem:
Wie kann eine Log-Dateistruktur Datenbank Auswirkungen auf die Wiederherstellungszeit
Transaction Log VLFs - zu viele oder zu wenige?
sind 1413-Fehlermeldung beim Starten von Datenbankspiegelung ? wie viele virtuelle Protokolldateien zu viele?

Auch ein bekanntes Problem mit wachsenden Transaktionsprotokollen beachten:

2633151 Die SQL Server-Datenbank-Transaktionsprotokolldatei wächst nicht nach konfigurierten Wertes für die Dateivergrößerung


Weitere Informationen zu den Produkten und Tools, die automatisch prüfen, ob diese Bedingung auf die Instanz von SQL Server und auf die Versionen des SQL Server-Produkts zutreffen, finden Sie in der folgende Tabelle:

Tabelle minimierenTabelle vergrößern
Regel-softwareRegel-TitelRegelbeschreibungProduktversionen, für die die Regel ausgewertet wird
SQL Server 2008 R2 Best Practice Analyzer (SQL Server 2008 R2 BPA)




Datenbanken mit einer großen Anzahl von VLF vorhanden





Die SQL Server 2008 R2 Best Practice Analyzer (SQL Server 2008 R2 BPA) enthält eine Regel, um das Erkennen von Fällen, in denen sich die Datenbanken auf eine große Anzahl virtueller Protokolldateien enthalten. SQL Server 2008 R2 BPA unterstützt SQL Server 2008 und SQL Server 2008 R2.

Wenn Sie das BPA-Tool ausführen, und ein Fehler mit dem Titel der Datenbank-Engine - Datenbanken mit einer großen Anzahl von VLF vorhanden ist tritt, müssen Sie überprüfen die Anzahl der virtuellen Protokolldateien für die entsprechende Datenbank und die Transaktionsprotokolldateien neu zu konfigurieren.
SQL Server 2008
SQL Server 2008 R2






SQL Server 2012 Best Practice Analyzer (BPA für SQL Server 2012)



Datenbanken mit einer großen Anzahl von VLF vorhanden




SQL Server 2012 Best Practice Analyzer (BPA für SQL Server 2012) enthält eine Regel, um das Erkennen von Fällen, in denen sich die Datenbanken auf eine große Anzahl virtueller Protokolldateien enthalten.

Wenn Sie das BPA-Tool ausführen, und ein Fehler mit dem Titel der Datenbank-Engine - Datenbanken mit einer großen Anzahl von VLF vorhanden ist tritt, müssen Sie überprüfen die Anzahl der virtuellen Protokolldateien für die entsprechende Datenbank und die Transaktionsprotokolldateien neu zu konfigurieren.
SQL Server 2012








Eigenschaften

Artikel-ID: 2028436 - Geändert am: Mittwoch, 7. Mai 2014 - Version: 4.0
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
  • Microsoft SQL Server 2014 Developer
  • Microsoft SQL Server 2014 Enterprise
  • Microsoft SQL Server 2014 Express
  • Microsoft SQL Server 2014 Standard
  • Microsoft SQL Server 2014 Web
Keywords: 
kbmt KB2028436 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell übersetzt und wird dann möglicherweise mithilfe des Community Translation Framework (CTF) von Mitgliedern unserer Microsoft Community nachbearbeitet. Weitere Informationen zu CTF finden Sie unter http://support.microsoft.com/gp/machine-translation-corrections/de.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 2028436
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com