dbcc shrinkdatabase

17/01/2008 - 19:03 von Walser Mark | Report spam
hallo ng

in der onlinhelp ist einiges über dbcc shrinkdatabase geschrieben.
leider weiss ich nicht genau, wie man die prozent definieren kann
dbcc shrinkfile (mydb, ??)

welche datenbankgrösse verwendet ihr um dies zu berechnen?
eigenschaften auf die db Š file?

danke im voraus
gruss mark
 

Lesen sie die antworten

#1 Christoph Muthmann
18/01/2008 - 13:42 | Warnen spam
Walser Mark wrote:
hallo ng

in der onlinhelp ist einiges über dbcc shrinkdatabase geschrieben.
leider weiss ich nicht genau, wie man die prozent definieren kann
dbcc shrinkfile (mydb, ??)

welche datenbankgrösse verwendet ihr um dies zu berechnen?
eigenschaften auf die db Š file?



Hallo Mark,
wenn Du die Datenbank verkleinerst, wird sie im schlimmsten Fall dann
vergrößert werden müssen, wenn besonders viel Traffic drauf ist.

Falls die Datenbank Readonly ist, reichen sicher wenige Prozent (1 oder
2), ansonsten würde ich immer für reichlich freien Platz in der
Datenbank sorgen. Alleine beim nàchsten Reorg kann es sein, dass die
Datenbank wieder größer geworden ist.

Also: Nur verkleineren, wenn massiv Daten gelöscht wurden und diese so
bald nicht wiederkommen.
Ansonsten orientiere Dich an den Optionen, die Du beim automatischen
Vergrössern eingestellt hast. Wobei ich auch dort keine Prozentangaben
empfehle, sondern lieber fixe Werte.

In der Online-Doku findest Du auch dieses schöne Beispiel:
Ausgangspunkt sei eine Datenbank namens mydb mit einer Datendatei und
zwei Protokolldateien. Die Datendatei und die Protokolldateien sind
jeweils 10 MB groß, die Datendatei enthàlt 6 MB an Daten.

Microsoft SQL Server 2005 Database Engine (Datenbankmodul) berechnet
für jede Datei eine Zielgröße. Auf diese Größe soll die Datei
verkleinert werden. Wird DBCC SHRINKDATABASE mit target_percent
angegeben, berechnet Datenbankmodul die Zielgröße als
target_percent-Umfang an freiem Speicherplatz in der Datei nach der
Verkleinerung. Wenn Sie beispielsweise für target_percent den Wert 25
für die Verkleinerung von mydb angeben, berechnet Datenbankmodul eine
Zielgröße von 8 MB für die Datendatei (6 MB Daten plus 2 MB freier
Speicherplatz). Daher werden von Datenbankmodul sàmtliche Daten aus den
letzten 2 MB der Datendatei in freie Bereiche innerhalb der ersten 8 MB
der Datendatei verschoben, und anschließend wird die Datei verkleinert.

Angenommen, die Datendatei von mydb enthàlt 7 MB Daten. Wenn als
target_percent der Wert 30 angegeben wird, kann die Datendatei auf den
gewünschten freien Prozentsatz von 30 reduziert werden. Wird jedoch für
target_percent 40 angegeben, kann die Datendatei nicht verkleinert
werden, da es mit Datenbankmodul nicht möglich ist, die Größe einer
Datei auf einen Wert zu reduzieren, der kleiner ist als der Platz, den
die Daten zu diesem Zeitpunkt belegen. Sie können dieses Problem auch
von einem anderen Winkel aus betrachten: 40 Prozent erwünschter freier
Speicherplatz plus 70 Prozent volle Datendatei (7 MB von 10 MB) ergeben
mehr als 100 Prozent. Da der gewünschte freie Prozentsatz zuzüglich des
Prozentsatzes, den die Datendatei gegenwàrtig belegt, den Wert 100
Prozent um 10 Prozent übersteigt, wird die Datendatei bei target_size
größer als 30 nicht verkleinert.




Einen schönen Tag noch,
Christoph
(Please post ALL replies to the newsgroup only unless indicated
otherwise)

Ähnliche fragen