Home SQL Server SQL 2005 Administration Datenbank Dateien verkleinern
Datenbank Dateien verkleinern PDF Drucken E-Mail
Benutzerbewertung: / 1
SchwachPerfekt 
SQL Server - SQL 2005 Administration
Geschrieben von: Fumus   
Samstag, 07. Juni 2008 um 23:34
Beitragsseiten
Datenbank Dateien verkleinern
Datenbank Dateien verkleinern Teil 1 - Eine Beobachtung
Alle Seiten

Einem Irrglauben nach werden durch ein Backup der DB zugleich die Datenbank Dateien verkleinert. Allerdings zeigt sich der SQL Server sehr resistent gegenüber solchen Schrumpfungsversuchen. Anders gesagt: Durch eine Sicherung der Datenbank - egal in welcher Form - läßt sich die Größe der Datenbank Dateien nicht verändern. (siehe dazu Zitat: "... Transaktionsprotokoll sichern. Dabei verkleinert es sich, da ein Teil des Protokolls nun in der Sicherungsdatei steht" (MS Office Forum) )

 


Anhand eines Beipiels möchte ich den Weg zur Verkleinerung darstellen:

 

Für den Versuch steht eine nagelneue DB "TestDB" zur Verfügung. Das Wiederherstellungsmodell ist auf den Modus "Vollständig" gesetzt. Im Gegensatz zum Modell "Einfach" werden hier alle Transaktionen nach dem Commit nicht sofort aus dem Transaktionsprotokoll gelöscht.

Für die weiteren Beobachtungen verwenden wir den Bericht "Datenträgerverwendung" im SQL Server Management Studio.
Der Rohzustand unserer TestDB sieht also folgendermaßen aus:




DB verkleinern Original
DB verkleinern Original

Zur Veranschaulichung lese ich einige Daten in die TestDB...(10000 Zeilen Import, alle Zeilen per delete löschen, und wieder 100000 Zeilen importieren).

select top 100000 * into testtab from adventureworks.person.countryregion,
       adventureworks.person.addr
go 
delete from testtab 
go 
drop table testtab 
go 
select top 100000 * into testtab from adventureworks.person.countryregion,
     adventureworks.person.addr 
go

Das Ergebnis für die Datenbankdateien sieht nun so aus:


DB verkleinern Import


Versuch Nummer 1: Vollständiges Backup

Was nun die Größe der Datenbank Dateien betrifft, ist das Ergebnis niederschmetternd. Keine Veränderung.Allerdings wird der geneigte Leser feststellen, dass die Speicherverwendung sich geändert hat. Das Transaktionsprotokoll wurde um die Einträge, die Commited sind erleichtert.

DB verklerinern Full Backup

Versuch Nummer 2 Sicherung des Transaktionsprotokolls

Das Ergebnis scheinbar Null, was aber vorhersehbar war. Nachdem bereits abgeschlossene Transaktionen aus dem Transaktionsprotokoll entfernt wurden, gibts seither nichts merh was gelöscht werden könnte. Eine Verkleinerung der Datenbankdateien findet ebenfalls nicht statt.



LAST_UPDATED2
 
SEO by Artio