Actualmente nos encontramos con algunos problemas de rendimiento ya que nuestra base de datos se está volviendo demasiado grande. Hay datos almacenados de los últimos 10 años y no veo una razón por la cual los datos de más de 2 años deban almacenarse en las mismas tablas que los datos nuevos.
Ahora que no tengo una experiencia muy profunda en la administración de bases de datos, estoy buscando las mejores formas de archivar datos antiguos.
Informacion
Hay alrededor de 310'000'000 registros en la base de datos en total.
La base de datos necesita 250 GB en el disco duro.
- La versión del servidor es SQL Server 2008 con nivel de compatibilidad SQL Server 2005 (90), pero estamos planeando actualizar a SQL Server 2012 pronto
He pensado en dos posibilidades:
Nueva base de datos
Cree una base de datos similar a la del servidor de producción e inserte todos los datos antiguos en la nueva base de datos.
- Desventaja: dado que los servidores vinculados no están permitidos en nuestro entorno, sería difícil unir los datos antiguos si fuera necesario
Esquema de historia
Cree un nuevo esquema fe [hist] con las mismas tablas que en la base de datos de producción. Inserte todos los datos antiguos en estas nuevas tablas en el nuevo esquema.
- Ventaja: fácil unión, si se necesitaran datos antiguos en el futuro
- ¿Prefieres una de las soluciones sobre la otra?
- ¿Por qué?
- ¿Hay mejores posibilidades?
- ¿Existen herramientas existentes con las cuales esta tarea es fácilmente posible?
- ¿Alguna otra idea?
Gracias por adelantado
Editar
Pregunta adicional:
¿La tabla de archivo recién creada también necesitaría claves primarias / externas?
¿O deberían tener las columnas pero sin claves / restricciones?