Copia de seguridad y restauración de la base de datos del servidor SQL con el grupo de archivos FILESTREAM

8

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.

Mario Navarro Claras
fuente
La Descripción general de Filestream nos dice explícitamente que puede excluir grupos FILESTREAM de sus copias de seguridad. Sin embargo, la implementación de TSQL sería increíble de ver
clifton_h
Sí, puede excluir FILESTREAM de su copia de seguridad, pero en el proceso de restauración deberá proporcionarla. Creo que esto siempre es necesario cuando su grupo de archivos es de lectura-escritura. Esto significa que puede hacer una copia de seguridad parcial solo de sus datos y otra copia de seguridad, incluidos los grupos de archivos de lectura y escritura (que contiene los archivos)
Mario Navarro Claras

Respuestas:

1

Me gustaría saber si es posible modificar el contenido de todas las columnas de flujo de archivos al realizar una copia de seguridad

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.

Randolph West
fuente