Frage

ich habe folgendes Problem. Wir haben eine Datenbank, die Binärdateien in der Datenbank gespeichert sind. Wir wissen, dass die Größe der Datenbank groß sein kann, so dass wir alle die Binärdateien aus der Datenbank entfernt und verwendet, um die Aufgabe „schrumpft“ an. Auf diese Weise hoffte man, dass die Datenbank viel kleiner ausfallen. Dies sind die Ergebnisse:

vor dem Entfernen Größe war: 20 Gigabyte nach dem Entfernen Größe war: 25 Gigabyte (inkl Log-Datei) nach Schrumpfgröße betrug: 13 Gigabyte

Jetzt habe ich keine Ahnung, wo der 13-Gig aus ist, die größte Tabelle in der Datenbank ein logtable und es ist 1,3 Gig alles übrige kombinierte nicht mehr als 200 mb nimmt ...

könnte es sein, dass es noch einige Daten in der Log-Datei, die die Schrumpf Aufgabe nicht entfernen können? gibt es eine Lösung für dieses Problem?

War es hilfreich?

Lösung

Wenn Ihr Wiederherstellungsmodell ist „Full“ und Sie haben nicht gesichert und schrumpften dann Transaktionsprotokoll dann könnte es noch groß bleiben.

Je nach Situation, eine der einfachsten Möglichkeiten, th des Transaktionsprotokolls schrumpfen ist Ihr Wiederherstellungsmodell zu einfach zu setzen, dann die Transaktionsprotokolldateien schrumpfen und dann setzen Wiederherstellungsmodell .. aber zu voll zurück, wenn dies ist eine Produktion System, in dem Sie einen Zeitpunkt Erholung benötigen, dann sollten Sie Backups Ihrer Transaktionsprotokoll ausführen statt.

Andere Tipps

Für weitere Informationen über Raumnutzung erhalten Sie ausprobieren können:

EXEC sp_spaceused;

Bitte beachten Sie Transaktionsprotokollsicherungen einzurichten (nicht nur Datenbank-Backups, da sie nicht das Protokoll klein halten, wie Sie herausgefunden haben), nachdem Sie Robin Day Rat nehmen und schrumpfen Sie das Protokoll oder Ihre Log wieder gerade groß wachsen. Unsere Transaktionsprotokolle werden alle 15 Minuten gesichert. Ihr Zeitplan müssen möglicherweise mehr oder weniger häufig sein, je nachdem, wie viele Daten Sie sich leisten können zu verlieren, wenn Sie einen Fehler haben. Zumindest würde ich eine tägliche Protokollsicherung tun nur das Protokoll eine vernünftige Größe zu halten.

Eine Möglichkeit besteht darin, dass die Tabelle die Daten gelöscht hat von einem Heap ist (dh es gibt keinen Clustered-Index), und wenn man aus einem Haufen löscht der Raum für die Tabelle zugeordnet wird nicht unbedingt befreit werden. Prüfen Sie diesen Artikel aus MS: http://support.microsoft.com/kb/913399

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top