Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Archiviazione di grandi quantità di vecchi dati in SQL Server

Quando dici archivio, ciò implica "necessità di conservare i dati per un uso successivo".

Tra le altre cose, se i dati non vengono lasciati ora disponibili, si corre il rischio di perderli se si fa affidamento sui backup su nastro. Inoltre, devi disporre di spazio su disco per ripristinarlo in futuro.

Questi non sono problemi insormontabili ovviamente, ma a meno che le cose non siano critiche, manterrei i dati online fino a prova contraria. La mia esperienza mostra che la gente vuole i dati archiviati quando meno te lo aspetti...

Un'opzione (la domanda è contrassegnata da SQL Server 2008) è compressione dei dati . Ad esempio, puoi comprimere tabelle di archivio che sono online.

Per creare una tabella di archivio.

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

Oppure usa il partizionamento per ottenere lo stesso

Se i dati sono online, puoi ridurre ulteriormente la tabella "corrente" e avere dati più vecchi, diciamo, di 3 mesi in una tabella/partizione di archivio compressa