Reduzieren einer großen SQL Server-Datenbank

13

Ich habe eine große SQL Server 2008-Testdatenbank (1,9 TB) und möchte deren Größe auf der Festplatte reduzieren. Ich habe nicht verwendete Tabellen gelöscht und erhebliche Datenmengen gelöscht, aber die Größe auf der Festplatte wurde nicht reduziert. Was soll ich machen?

Ich habe mir die Aufgabe "Verkleinern" in SSMS angesehen, aber die Optionen sind verwirrend. Verkleinere ich die Datenbank oder die Dateien? Und mit welchen Möglichkeiten?

Bildbeschreibung hier eingeben Bildbeschreibung hier eingeben

Dan
quelle
Wenn Sie die Größe reduzieren möchten
SqlSandwiches

Antworten:

10

Aktivieren Sie das zweite Optionsfeld, Reorganize pages before releasing unused spaceund geben Sie in der Shrink file to:Option die angegebene Mindestgröße an. Sie werden korrigiert, wenn Sie einen niedrigeren MB als den angegebenen eingeben. Klicken Sie dann auf OK.

Ich habe festgestellt, dass die Verwendung der DBCC-Befehle für diese die ganze Zeit funktioniert, da die GUI in einigen meiner Fälle nicht funktioniert hat.

Beachten Sie auch, dass der zusätzliche Platz nicht ohne Grund vorhanden ist. Sie werden den Raum für zukünftiges Wachstum brauchen, aber das ist dann ein ganz neues Thema in der Leistung.

StanleyJohns
quelle
3
Zur besseren Beantwortung der Frage würde ich den Unterschied zwischen dem Verkleinern der Datenbank und dem Verkleinern der Dateien sowie den Unterschied zwischen dem Freigeben von nicht verwendetem Speicherplatz und dem Reorganisieren von Seiten erklären. Stattdessen hast du nur "mach das" ohne Erklärung gesagt.
Nick Chammas
5

Wenn die 2008-Komprimierung verfügbar ist (Enterprise- oder Developer-Edition), sollten Sie in der Lage sein, Ihre große Datenbank mithilfe komprimierter Indizes und Tabellen zu verkleinern. Das MS-Whitepaper " Datenkomprimierung: Strategie, Kapazitätsplanung und Best Practices " soll Ihnen dabei helfen, das zu finden, was Sie benötigen. Zitat daraus:

"Die Datenkomprimierungsfunktion in der Microsoft® SQL Server® 2008-Datenbanksoftware kann dazu beitragen, die Größe der Datenbank zu verringern und die Leistung von E / A-intensiven Workloads zu verbessern. Auf dem Datenbankserver sind jedoch zusätzliche CPU-Ressourcen zum Komprimieren und Aktualisieren erforderlich." Dekomprimieren Sie die Daten, während sie mit der Anwendung ausgetauscht werden. Daher ist es wichtig, die Auslastungseigenschaften zu kennen, wenn Sie entscheiden, welche Tabellen komprimiert werden sollen. Dieses Whitepaper enthält Anleitungen zu folgenden Themen:

How to decide which tables and indexes to compress
How to estimate the resources required to compress a table
How to reclaim space released by data compression
The performance impacts of data compression on typical workloads"

Hier ist eine kürzere Erklärung.

Mithilfe der gespeicherten Prozedur sp_estimate_data_compression_savings können Sie schätzen, wie viel Speicherplatz Sie sparen können .

Marian
quelle