Cómo almacenar datos que no son necesarios desde el servidor MS SQL

Cómo almacenar datos que no son necesarios desde el servidor MS SQL

Me pidieron que truncara una tabla grande en MS SQL Server 2008. Los datos no son necesarios, pero podrían ser necesarios una vez cada dos años. NUNCA habrá que cambiarlo, sólo verlo.

La pregunta es, dado que no necesito los datos en el día a día, ¿qué hago con ellos para protegerlos y hacer una copia de seguridad?

Tenga en cuenta que necesitaré tener acceso a él tal vez una vez cada dos años, y está BIEN para nosotros si el proceso de recuperación demora unas horas.

La tabla completa tiene aproximadamente 3 millones de filas y necesito truncarla a aproximadamente 1 millón de filas.

Respuesta1

¿Cómo planea acceder a los datos de la tabla?

Si está utilizando algo un poco flexible (su propio código o simplemente consultas SQl), entonces una salida fácil es copiar la tabla necesaria a otra base de datos y separarla del servidor. Luego, trunca la tabla (o elimina las filas no deseadas, aunque es posible que desees verificar el tamaño de tu T-Log al hacerlo).

Cuando lo necesite, siempre puede volver a montar la base de datos relevante desde el almacenamiento en modo de solo lectura. Si necesita ejecutar consultas en varias copias de seguridad a la vez, puede crear una vista que reagrupe todos los datos.

Si está utilizando un software que no le permite personalizar cómo se accede a esa tabla, aún puede copiar la tabla a otra base de datos por su cuenta, pero restaurar esa copia de seguridad puede ser problemático porque necesitará fusionar el contexto existente. (la otra tabla indica) con los datos antiguos. Además, es posible que la estructura de datos haya cambiado, lo que hace que sea casi imposible restaurarla.

Entonces, en ese caso, le sugeriría que simplemente haga una copia de seguridad de la base de datos completa y la almacene (preferiblemente junto con una versión del software que accede a ella).

Respuesta2

3 millones de filas no son muchas, especialmente para el servidor SQL. Además, no se puede truncar una tabla y conservar filas. Truncar se vacía por completo.

Además, la eliminación es lenta, incluso si tienes tiempo.

Haría clic derecho en su tabla, escribiría como, crearía una nueva tabla. Cambie el nombre, para que le guste Table_Backup11232011, asegúrese de cambiar el nombre de sus claves principales también...

insert into Table_Backup11232011 select * from oldtable

truncate table oldtable

Ahora tiene una copia de seguridad y una tabla nueva. 3 millones de filas probablemente solo le costarán unos pocos cientos de megabytes, lo cual no es nada.

Respuesta3

Archivado/Accesibilidad: He aquí una idea... 1) Realice la eliminación de datos 2) Coloque la tabla en su propio grupo de archivos SQL 3) Grabe el archivo en un dispositivo de solo lectura (espacio permitido) 4) Utilice ALTER TABLE para redefinir dónde el archivo es y defínelo como de sólo lectura 5) ¡Que siga la fiesta, Garth!

Ahora los datos están fuera de sus discos duros, son inalterables pero aún están disponibles cuando los necesita.

información relacionada