Når du siger arkiv, indebærer dette "behov for at opbevare data til senere brug".
Blandt andet, hvis dataene ikke efterlades tilgængelige nu, risikerer du at miste dem, hvis du er afhængig af tape backups. Du skal også have diskplads for at gendanne den i fremtiden.
Disse er selvfølgelig ikke uoverstigelige problemer, men medmindre tingene er kritiske, vil jeg holde dataene online, indtil det modsatte er bevist. Min erfaring viser, at folk vil have arkiverede data, når man mindst venter...
En mulighed (spørgsmålet er tagget SQL Server 2008) er komprimering af data . Du kan f.eks. komprimere arkivtabeller, der er online.
For at oprette en arkivtabel.
SELECT * INTO ANewArchiveTable
FROM CurrentTable
WHERE SomeDateColumn <= DATEADD(year, -2, GETDATE())
Eller brug partitionering for at opnå det samme
Hvis dataene er online, kan du reducere den "aktuelle" tabel yderligere og have data ældre end f.eks. 3 måneder i en komprimeret arkivtabel/partition også