DBCC ShrinkDatabase()
DBCC ShrinkFile()
- Muss ich beide DBCC-Befehle ausführen, um die Datenbank zu verkleinern?
- Was ist der Unterschied zwischen diesen beiden oben?
DBCC ShrinkDatabase()
DBCC ShrinkFile()
Antworten:
Einfach...
DBCC ShrinkDatabase()
: Alle Dateien verkleinernDBCC ShrinkFile()
: nur eine DateiMöglicherweise liegt ein Problem mit der Protokollsicherung vor, und die Steuerung ist außer Kontrolle geraten, sodass Sie sie ausführen DBCC ShrinkFile()
.
Sie verwenden fast nie ShrinkDatabase
.
Bevor Sie einen der beiden Befehle verwenden, lesen Sie bitte Paul Randals Blog über das Verkleinern .
Ich würde keine der Dateien (mdf, ldf) verkleinern, es sei denn, es gab einen klaren Grund. Die Dateien haben die Größe, die sie haben müssen. Blogs, die dies im Rahmen der regelmäßigen Wartung vorschlagen, verstehen möglicherweise nicht, wie SQL Server funktioniert.
Eine Standarddatenbank enthält zwei Dateien
MyDb.MDF und MyDb.LDF
Die MDF-Datei ist die Datendatei, in der sich die primäre Partition befindet. Abhängig von Ihren Anforderungen können Sie eine Datenbank in mehrere Dateien partitionieren. Dies geschieht, damit Daten (einzelne oder mehrere Tabellen) mehrere Dateien umfassen können, die normalerweise auf separaten Festplatten gespeichert werden, um eine höhere Leistung zu erzielen.
Wenn Sie eine Datenbank verkleinern, werden alle mit dieser Datenbank verknüpften Dateien verkleinert.
Wenn Sie eine Datei verkleinern, wird nur die ausgewählte Datei verkleinert.
Sie müssen nur den Befehl "Datenbank verkleinern" verwenden. Dies ist jedoch normalerweise keine gute Praxis und wird auch nicht empfohlen.
Wenn Sie uns mitteilen, um welches Problem es sich handelt, erhalten Sie weitere Informationen zur Behebung des Problems.
Höchstwahrscheinlich verwenden wir nur dbcc shrinkfile. sp_helpdb 'Datenbankname' enthält die Liste der Daten- und Protokolldateien in einer Datenbank.
Klicken Sie mit der rechten Maustaste auf das Management Studio, und geben Sie unter "Tasks-> Verkleinern-> Datei" an, wie viel% Sie verkleinern können.
Was auch immer wir schrumpfen, es steht auf der Festplatte als freier Speicherplatz zur Verfügung.
zB: benutze 'datenbankname' dbcc shrinkfile (fileid, 100)
hier ist 100 100 MB
Datei-ID kann von sp_helpdb 'Datenbankname' abgerufen werden