Uso SQL Server y tengo una gran base de datos con dos grupos de archivos:
- Primario : que contiene todos los datos, excepto los archivos grandes (1 MB +)
- FILESTREAM (lectura / escritura) : que contiene los archivos grandes
Ahora, el escenario de respaldo es:
- Cada viernes obtenga una copia de seguridad completa (2 AM)
- Cada día de la semana, excepto el viernes, obtenga una copia de seguridad diferencial (2 a.m.)
Dado que la base de datos es grande y está en producción en un servidor remoto, cada vez que quiero llevar la base de datos a mi entorno local para crear una base de datos de prueba (semanalmente), tengo que traer tanto el flujo primario como el flujo de archivos.
Me gustaría poder cambiar la forma en que se realizan las copias de seguridad y las restauraciones, de tal manera que solo haya que traer el grupo de archivos primario, ignorando el flujo de archivos. De esta manera, cada semana solo traería el grupo de archivos primario, y no toda la información que supone el flujo de archivos.
Creo que puede haber muchos problemas, y todas las referencias de flujo de archivos se pueden perder al acceder a los archivos. Me gustaría saber si es posible modificar el contenido de todas las columnas del flujo de archivos al realizar una copia de seguridad, o usar un flujo de archivos diferente alojado en el entorno de prueba. Además, he oído hablar de la Restauración gradual de algunos grupos de archivos, pero tengo muchas dudas sobre cómo llevarlo a cabo.
Pregunta 1: ¿puedo tener este escenario?
Pregunta 2: ¿ es una buena idea tener solo una copia de seguridad completa y llevar copias de seguridad diferenciales / registros de transacciones al entorno de prueba?
Pregunta 3: ¿puedo tener un mejor escenario para hacer copias de seguridad y restaurar?
Soy todo oídos a las recomendaciones. Si tiene algún caso de ejemplo, muéstreme con una consulta T-SQL.
fuente
Respuestas:
No.
Crearía mi base de datos de prueba con el mismo esquema que la base de datos de producción, y luego escribiría un script personalizado para sincronizar los datos en el grupo de archivos primario (esto es bastante fácil ya que su sistema de producción es la fuente, por lo que la sincronización es solo en una dirección )
Luego, con los datos del flujo de archivos, tropezaría con los archivos, lo que podría hacerse de muchas maneras. Fuera de mi cabeza, de alguna manera generaría archivos de cero bytes en el lado de prueba.
fuente