Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Archivierung großer Mengen alter Daten in SQL Server

Wenn Sie archivieren, bedeutet dies, dass "Daten für die spätere Verwendung aufbewahrt werden müssen".

Unter anderem, wenn die Daten jetzt nicht verfügbar bleiben, laufen Sie Gefahr, sie zu verlieren, wenn Sie sich auf Bandsicherungen verlassen. Außerdem benötigen Sie Speicherplatz, um sie in Zukunft wiederherstellen zu können.

Dies sind natürlich keine unüberwindbaren Probleme, aber wenn die Dinge nicht kritisch sind, würde ich die Daten online halten, bis das Gegenteil bewiesen ist. Meine Erfahrung zeigt, dass Leute archivierte Daten wollen, wenn Sie es am wenigsten erwarten...

Eine Option (die Frage ist mit SQL Server 2008 gekennzeichnet) ist Komprimierung von Daten . Sie können beispielsweise Archivtabellen komprimieren, die online sind.

So erstellen Sie eine Archivtabelle.

SELECT * INTO ANewArchiveTable
FROM CurrentTable
WHERE SomeDateColumn <= DATEADD(year, -2, GETDATE())

Oder verwenden Sie Partitionierung dasselbe zu erreichen

Wenn die Daten online sind, können Sie die "aktuelle" Tabelle weiter reduzieren und auch Daten, die älter als beispielsweise 3 Monate sind, in einer komprimierten Archivtabelle/Partition haben