Nous rencontrons actuellement des problèmes de performances car notre base de données devient trop volumineuse. Il y a des données stockées des 10 dernières années et je ne vois pas pourquoi les données de plus de 2 ans doivent être stockées dans les mêmes tables que les nouvelles données.
Maintenant que je n'ai pas une expérience très approfondie dans l'administration de bases de données, je cherche les meilleures façons d'archiver les anciennes données.
Info
Il y a environ 310'000'000 enregistrements dans la base de données au total.
La base de données a besoin de 250 Go sur le disque dur.
- La version du serveur est SQL Server 2008 avec le niveau de compatibilité SQL Server 2005 (90), mais nous prévoyons de mettre à niveau vers SQL Server 2012 bientôt
J'ai pensé à deux possibilités:
Nouvelle base de données
Créez une base de données similaire à celle du serveur de production et insérez toutes les anciennes données dans la nouvelle base de données.
- Inconvénient: les serveurs liés n'étant pas autorisés dans notre environnement, il serait difficile de joindre les anciennes données si nécessaire
Schéma historique
Créez un nouveau schéma fe [hist] avec les mêmes tables que dans la base de données de production. Insérez toutes les anciennes données dans ces nouvelles tables dans le nouveau schéma.
- Avantage: intégration facile, si d'anciennes données étaient nécessaires à l'avenir
- Préférez-vous l'une des solutions par rapport à l'autre?
- Pourquoi?
- Y a-t-il de meilleures possibilités?
- Existe-t-il des outils avec lesquels cette tâche est facilement possible?
- D'autres réflexions?
Merci d'avance
modifier
Question supplémentaire:
La table d'archivage nouvellement créée aurait-elle également besoin de clés primaires / étrangères?
Ou devraient-ils simplement avoir les colonnes mais sans clés / contraintes?