Das Verkleinern der Transaktionsprotokolldatei in SQL Server 2005

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

Zusammenfassung

Sie können Microsoft SQL Server 2005 eine Transaktionsprotokolldatei in einer Datenbank, entfernen Sie nicht verwendete Seiten verkleinern. Die Datenbank-Engine wiederverwendet wird. Raum wirksam. Wenn eine Transaktionsprotokolldatei unerwartet stark wächst, können Sie jedoch zum Verkleinern der Transaktionsprotokolldatei auf manuell.

Dieser Artikel beschreibt, wie Sie die DBCC SHRINKFILE-Anweisung manuell unter verkleinern die Transaktionsprotokolldatei der vollständige Wiederherstellungsmodell in einer SQL Server 2005-Datenbank. Die Methode, die Sie zum Verkleinern der Transaktionsprotokolldatei in SQL Server 2005 verwenden kann von der Methode abweichen, die Sie zum Verkleinern der Transaktionsprotokolldatei in SQL Server verwenden 2000. Weitere Informationen über das verkleinern die Transaktionsprotokolldatei in SQL Server 2000, klicken Sie auf die folgende Artikelnummer klicken, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
272318Verkleinern des Transaktionsprotokolls in SQL Server 2000 mit DBCC SHRINKFILE

Weitere Informationen

In SQL Server 2005 versucht ein Verkleinerungsvorgang (DBCC SHRINKFILE) die angegebene Transaktionsprotokolldatei sofort auf die angeforderte Größe verkleinert. Zum Verkleinern der Transaktionsprotokolldatei manuell unter Modell der vollständigen Wiederherstellung müssen Sie zunächst die Transaktionsprotokolldatei sichern. Verwenden Sie dann die DBCC SHRINKFILE-Anweisung, die Transaktionsprotokolldatei verkleinern.

In der Regel Verkleinern der Transaktionsprotokolldatei in SQL Server 2005 ist schneller als das Verkleinern der Transaktionsprotokolldatei in SQL Server 2000. Der Grund dafür ist, dass die SQL Protokoll-Manager-Server 2005 erstellt oder bei der Wiederverwendung inaktiver virtueller Protokolldateien durch nach der physischen Speicherreihenfolge orientiert. Aus diesem Grund der inaktive Teil der Transaktion Log-Datei ist in der Regel am Ende der Datei.

Die Transaktionsprotokolldatei kann beispielsweise 100 virtuelle Protokolldateien haben, und es werden nur zwei virtuelle Protokolldateien verwendet. SQL Server 2000 kann die erste verwendete virtuelle Protokolldatei am Speichern der Starten Sie die Transaktionsprotokolldatei und die zweite virtuelle Protokolldatei in der Mitte der Transaktionsprotokolldatei. Um die Transaktionsprotokolldatei auf nur zwei virtuelle Protokolldateien zu verkleinern, füllt die SQL Server den verbleibenden Teil der zweiten virtuellen Protokolldatei mit dummy-Protokoll Einträge. SQL Server verschiebt den Anfang des logischen Protokolls an die nächste verfügbare virtuelle Protokolldatei, die durch den Log Manager angegeben wird. Der Protokoll-Manager kann eine virtuelle Protokolldatei in der Mitte der Transaktionsprotokoll-Datei nur vor der erstellen. die letzten aktiven virtuellen Protokolldatei. In diesem Fall müssen Sie mehrere Protokollsicherungsvorgänge und Verkleinerungsvorgänge, die Transaktionsprotokolldatei erfolgreich auf 2 zu verkleinern. virtuelle Protokolldateien. Im schlimmsten Fall dieses Beispiels müssen Sie 50 Protokollsicherungsvorgänge und 50 Verkleinern verwenden. Vorgänge, die Transaktionsprotokolldatei erfolgreich auf zwei virtuelle Protokolldateien zu verkleinern.

In SQL Server 2005 können Sie jedoch, eine DBCC SHRINKFILE-Anweisung, um die Transaktionsprotokolldatei sofort auf zwei virtuelle Protokolldateien zu verkleinern durchführen. Dies ist möglich, da der Protokoll-Manager von SQL Server 2005 zwei virtuelle Protokolldateien erstellt, indem Sie die folgenden von der physischen Speicherreihenfolge orientiert. Beide virtuellen Protokolldateien befinden sich am Anfang der Transaktionsprotokolldatei.

Wenn Sie versuchen, eine Transaktionsprotokolldatei zu verkleinern, die wenig freien Platz in SQL Server 2005 hat, müssen Sie einen zusätzlichen Sicherungsvorgang durchführen. Die zusätzlichen Protokollsicherungsvorgang der Transaktionsprotokolldatei verkleinern. Dieser Vorgang ist zusätzlich zu den drei Schritten, die Sie zum Verkleinern der Transaktionsprotokolldatei in SQL Server 2000 durchführen. Weitere Informationen finden Sie in der Microsoft Knowledge Base-Artikel, der im Abschnitt "Zusammenfassung" genannt wird. Gehen Sie folgendermaßen vor, um eine Transaktionsprotokolldatei zu verkleinern, die wenig freien Platz in SQL Server 2005 hat:
  1. Sichern Sie die Transaktionsprotokolldatei auf die meisten aktiven virtuellen Protokolldateien als inaktiv zu markieren. Aus diesem Grund können die inaktiven virtuellen Protokolldateien in einem späteren Schritt entfernt werden. Dazu starten Sie SQL Server Management Studio, und führen Sie eine Transact-SQL-Anweisung, die die folgende Transact-SQL-Anweisung ähnelt.
    BACKUP LOG <DatabaseName> TO DISK = '<BackupFile>'
    Hinweis In dieser Anweisung <DatabaseName></DatabaseName>ist ein Platzhalter für den Namen der Datenbank, die beim Sichern von, und <BackupFile></BackupFile> ist ein Platzhalter für den vollständigen Pfad der Sicherungsdatei.

    Führen Sie z. B. die folgende Transact-SQL-Anweisung.
    BACKUP LOG TestDB TO DISK='C:\TestDB1.bak'
  2. Verkleinern der Transaktionsprotokolldatei. Führen Sie dazu eine Transact-SQL-Anweisung, die die folgende Transact-SQL-Anweisung ähnelt.
    DBCC SHRINKFILE (<FileName>, <TargetSize>) WITH NO_INFOMSGS
    Hinweis In dieser Anweisung <FileName></FileName>ist ein Platzhalter für den Namen der Transaktionsprotokolldatei und <TargetSize></TargetSize> ist ein Platzhalter für die Zielgröße, die die Transaktionsprotokolldatei sein soll. Die Zielgröße muss sinnvoll sein. Z. B. nicht möglich, die Transaktionsprotokolldatei auf eine Größe zu verkleinern, die weniger als zwei virtuelle Protokolldateien ist.
  3. Wenn die Anweisung DBCC SHRINKFILE die Transaktionsprotokolldatei nicht verkleinert die Ziel von Größe, führen Sie die BACKUP LOG-Anweisung, die erwähnt wird in Schritt 1, um mehr zu machen der virtuellen Protokolldateien inaktiv.
  4. Führen Sie DBCC SHRINKFILE-Anweisung, die erwähnt wird in Schritt 2. Nach diesem Vorgang sollte die Transaktionsprotokolldatei in der Nähe der Zielgröße.
Zusammenfassend lässt sich sagen werden den Log Manager-Algorithmus für das Abrufen der nächsten virtuellen Protokolldatei im SQL Server 2005 geändert. Aus diesem Grund kann Verkleinern der Transaktionsprotokolldatei in SQL Server 2005 von abweichen Verkleinern der Transaktionsprotokolldatei in SQL Server 2000.
  • Wenn eine Protokolldatei viel freien Platz hat, ist das Verkleinern der Transaktionsprotokolldatei in SQL Server 2005 schneller als das Verkleinern der Transaktionsprotokolldatei in SQL Server 2000.
  • Wenn eine Protokolldatei wenig freien Platz hat, entspricht Verkleinern der Transaktionsprotokolldatei in SQL Server 2005 das Verkleinern der Transaktionsprotokolldatei in SQL Server 2000.
  • Wenn eine Protokolldatei wenig freien Platz hat, müssen Sie möglicherweise eine weitere Sicherung durchführen Operation in SQL Server 2005, als Sie in SQL Server 2000 ausführen müssen.

Informationsquellen

Weitere Informationen zum Verkleinern des Transaktionsprotokolls finden Sie auf der Verkleinern des Transaktionsprotokolls Microsoft Developer Network (MSDN)-Website.

Weitere Informationen über die Anweisung DBCC SHRINKFILE finden Sie auf der DBCC SHRINKFILE (Transact-SQL) MSDN-Website.

Weitere Informationen zum Abschneiden des Transaktionsprotokolls finden Sie auf der Abschneiden des Transaktionsprotokolls MSDN-Website.

Eigenschaften

Artikel-ID: 907511 - Geändert am: Freitag, 12. Juli 2013 - Version: 1.1
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Workgroup Edition
Keywords: 
kbsqlsetup kbsql2005engine kbinfo kbmt KB907511 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: 907511
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