Wir haben eine SQL Server-Instanz, die für die E-Mail-Archivierung verwendet wird (mit freundlicher Genehmigung eines Archivierungspakets eines Drittanbieters). Von Zeit zu Zeit wird die Software auf eine neue leere Datenbank übertragen. Wir haben dies in der Vergangenheit vierteljährlich gemacht, aber wir versuchen es jetzt monatlich. Die zu archivierende Datenmenge beträgt etwa 15 bis 20 GB pro Monat, und der Großteil der Daten befindet sich nur in einer Handvoll Tabellen (normalerweise 2 bis 4).
Sobald wir zu einer neuen Datenbank wechseln, wird die alte Datenbank nur noch schreibgeschützt verwendet. Was ich tun möchte, ist, es in eine schöne, enge Datendatei zu optimieren, wobei alle Tabellen / Indizes zusammenhängend sind und einen sehr hohen Füllfaktor haben und am Ende der Datendatei nicht viel Leerraum vorhanden ist. Außerdem verwenden wir auf diesem Server die Standard Edition mit allen damit verbundenen Einschränkungen (andernfalls würde ich bereits die Datenkomprimierung verwenden).
Einige Möglichkeiten, die mir einfallen:
- REBUILD / REORGANIZE-Indizes, DBCC SHRINKFILE (Okay, dies ist keine sinnvolle Option, da DBCC SHRINKFILE die Pisse aus allem herausfragmentiert, was sie berührt, aber ich füge sie der Vollständigkeit halber hinzu.)
- Erstellen Sie eine neue Datenbank mit deaktivierten automatischen Statistiken. Schreiben Sie alle Tabellen aus der Quellendatenbank und erstellen Sie sie neu. Verwenden Sie bcp, um die Daten in der Reihenfolge der Clusterschlüssel in die neue Datenbank zu exportieren / importieren. Skript und erstellen Sie alle Indizes neu. Berechnen Sie alle Statistiken mit vollständigem Scan neu.
- Erstellen Sie eine neue Datenbank mit deaktivierten automatischen Statistiken. Schreiben Sie alle Tabellen aus der Quellendatenbank und erstellen Sie sie neu. Verwenden Sie SSIS oder T-SQL, um Daten in die neue Datenbank zu übertragen. Skript und erstellen Sie alle Indizes neu. Berechnen Sie alle Statistiken mit vollständigem Scan neu.
Der letzte Schritt wäre in jedem Fall, die Datenbank in den schreibgeschützten Modus zu versetzen.
Welche anderen guten / besseren Möglichkeiten gibt es dafür? Mein Anliegen ist es, die Daten so zu verschieben, dass ein hoher Füllfaktor erhalten bleibt und logisch zusammenhängend ist.
Bearbeiten:
Ich sollte erwähnen, dass ungefähr 75% der Daten in Bildspalten (LOB) gespeichert zu sein scheinen.
PRIMARY?