Eine Informationsmeldung 9017 wird protokolliert, wenn eine Instanz von SQL Server starten oder wiederherstellen oder eine Datenbank anfügen

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

Auf dieser Seite

Problembeschreibung

Beim Starten einer Instanz von Microsoft SQL Server oder wiederherstellen oder einer Datenbank anfügen wird eine 9017 Informationsmeldung, die den folgenden ähneln im SQL Server-Fehlerprotokoll protokolliert:

Datenbank dbName hat mehr als n virtuelle Protokolldateien die übermäßig hohe Werte aufweist. Zu viele virtuelle Protokolldateien können lange Startzeiten und backup-Zeiten führen. Verkleinern das Protokoll und die Schrittweite für die Vergrößerung der verschiedenen verwenden, reduzieren Sie die Anzahl der virtuellen Protokolldateien berücksichtigen.

Zu viele virtuelle Protokolldateien können die Recovery-Zeit von der Datenbank beeinträchtigen.

Darüber hinaus verwenden Sie Replikation oder Datenbankspiegelung Technologien in Ihrer Umgebung, möglicherweise Leistungsprobleme mit diesen Technologien fest.

Ursache

Dieses Problem tritt auf, wenn Sie geben Sie niedrige Werte für die FILEGROWTH-parameter für die Protokolldatei.

Die SQL Server-Datenbank-Engine teilt jede physische Protokolldatei intern in mehrere virtuelle Protokolldateien (VLFs). SQL Server 2008 R2 Service Pack 2 und höheren Versionen, eine neue Nachricht (9017), die protokolliert werden, wenn eine Datenbank gestartet wird (entweder durch das Starten einer Instanz von SQL Server oder durch das Anfügen oder Wiederherstellen der Datenbank) und verfügt über mehr als 1.000 VLFs in SQL Server 2008 R2 oder verfügt über mehr als 10.000 VLFS in SQL Server 2012 eingeführt.

HinweisIn SQL Server 2012, obwohl diese Meldung wird protokolliert, wenn die Datenbank über 10.000 VLFs hat gibt die tatsächliche Meldung, die nicht richtig im Fehlerprotokoll gemeldet wird "1000 VLF." Im Grunde tritt die Warnung nach 10.000 VLFs. Jedoch meldet die Nachricht 1.000 VLFs. Dieses Problem wird in zukünftigen Versionen behoben sein.

Weitere Informationen dazu, wie die erhöhte Anzahl der VLFs zu Performance-Problemen in der Replikation oder Konfigurationen zum Spiegeln von Datenbanken führen könnte finden Sie im Abschnitt "Weitere Informationen".

Lösung

Um dieses Problem zu beheben, gehen Sie folgendermaßen vor:
  1. Reduzieren Sie das Transaktionsprotokoll mit DBCC SHRINKDB oder mithilfe von SQL Server Management Studio.
  2. Erhöhen Sie die Größe der Transaktionsprotokolldatei auf einen größeren Wert, regelmäßige automatische Wachstum zu vermeiden. Weitere Informationen finden Sie im folgende Thema in der Onlinedokumentation zu SQL Server-Website:

    http://msdn.Microsoft.com/en-us/library/ms365418.aspx#AddOrEnlarge
  3. Erhöhen Sie die FILEGROWTH-parameter auf ein höheren Wert als das, was derzeit konfiguriert. Dies sollte für die Aktivität einer Datenbank und die Protokolldatei, wie häufig wächst beruhen.

Darüber hinaus sollten Sie in Erwägung ziehen, installieren die folgenden Updates, je nach der Version von SQL Server, die derzeit ausgeführt werden:


Weitere Informationen

Die Anzahl der Segmente in einer Datenbank VLF überprüfen

Die Anzahl der Segmente VLF finden in einer Datenbank Sie durch Suchen nach der Differenz zwischen dem frühesten und die neuesten Protokollsequenznummer (LSNs) von Sicherungen des Transaktionsprotokolls für die Datenbank.

Die LSN der Transaktionsprotokollsicherung finden Sie durch Überprüfen der SQL Server-Fehlerprotokoll eine Nachricht, die der folgenden ähnelt:

{Protokoll wurde gesichert. Datenbank: mydbname, creation_date_(time): Datum(Uhrzeit), erste LSN: 1: 5068:70, Letzte LSN: 1: 5108:1, Anzahl der Sicherungsmedien: 1, Geräteinformationen: (Datei = 1, Typ = DISK: {C:\folder\logbackup1.trn}). Dies ist nur eine Informationsmeldung. Es ist keine Handlung des Benutzers erforderlich.

HinweisIn dieser Meldung ist die LSN des Transaktionsprotokolls1. (Es ist die erste Zahl vor dem Doppelpunkt in "LSN: 1:5068:70.")

Gehen Sie hierzu folgendermaßen vor:
  1. Die LSN für die Sicherung des Earliesttransaction für die Datenbank in der SQL-Fehlerprotokoll suchen (z. B. LSN: 1:5108:1).
  2. Letzte LSN für der Sicherung des Transaktionsprotokolls finden Sie im SQL-Fehlerprotokoll (z. B. LSN:10, 235: 5108: 1).
  3. Die Anzahl der Segmente VLF ist der Unterschied zwischen der neuesten LSN und die früheste LSN (In diesem Fall ist es 10,235-1 = 10,234).

Die Auswirkungen einer Vielzahl von VLFs zur Replikation

Zu viele Protokolldateien können Replication beeinflussen, da Protokollleseprozess jede virtuelle Protokolldatei für Buchungen überprüfen muss, die für die Replikation gekennzeichnet sind. Sie können dieses Verhalten durch Überwachen der Leistung der Sp_replcmds gespeicherten Prozedur anzeigen. Vom Protokollleser verarbeitet verwendet die Sp_replcmds gespeicherten Prozedur die virtuellen Protokolldateien Scannen und lesen Sie die Buchungen, die für die Replikation gekennzeichnet sind. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:

949523 Die Wartezeit von einer Transaktionsreplikation ist in SQL Server 2005 hoch, wenn der Wert der Eigenschaft "Anfangsgröße" und den Wert der Eigenschaft für die automatische Vergrößerung klein

Die Auswirkungen einer Vielzahl von VLFs für Datenbankspiegelung

Die Datenbankspiegelung können sich zu viele Protokolldateien auch auswirken. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:

2455009Update: 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

Informationsquellen

Weitere Informationen finden Sie unter den folgenden Themen auf der Microsoft Developer Network (MSDN)-Website:

Verkleinern des Transaktionsprotokolls

Faktoren, die die Protokollkürzung verzögern können

Kürzen des Transaktionslogs

Logische Architektur des Transaktionsprotokolls

Physische Architektur des Transaktionsprotokolls


Eigenschaften

Artikel-ID: 2882905 - Geändert am: Mittwoch, 11. September 2013 - Version: 1.0
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard Edition
Keywords: 
kbexpertiseinter kbprb kbsurveynew kbmt KB2882905 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: 2882905
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