Restaurar con movimiento tiene un rendimiento pobre


1

Como parte de nuestro ciclo de desarrollo regular, necesitamos llevar una copia de la producción a las bases de datos de desarrollo.

Para hacer esto, tomamos una copia de las copias de seguridad de producción y las movemos al Servidor de Desarrollo.Luego usamos la función RESTAURAR CON MOVIMIENTO para definir dónde se deben almacenar los datos y los registros.

Esta restauración consume mucho tiempo, y generalmente toma de 2 a 3 veces más que una restauración estándar.Esto es un gasto elevado para nosotros, ya que a menudo tiene que hacerse varias veces durante el día.

Me preguntaba si hay una forma más eficiente de realizar esta tarea.

He intentado escribir la copia de seguridad en varios archivos para mejorar el rendimiento, y aunque esto acelera la copia de seguridad, el RESTORE WITH MOVE no se ve afectado.

Cualquier ayuda es muy apreciada.

  0

Las bases de datos Prod y Dev se denominan 'FOO'.Restaura prod a dev como FOO_RESTORE.Una vez que se complete la restauración, saque a todos de FOO e intercambie FOO_RESTORE en su lugar. 04 dic. 132013-12-04 16:01:22

  0

¿Qué versión de servidor SQL? 04 dic. 132013-12-04 17:18:01

  0

Estoy asumiendo que usted está restaurando a través de la red y el ancho de banda sería su problema.¿Puedo aclarar si el archivo BAK está en el servidor de producción o en el servidor de desarrollo?Yo sugeriría mover el archivo al servidor de Desarrollo y luego restaurarlo localmente. 04 dic. 132013-12-04 16:16:03

  0

Por favor, compruebe todo lo que Kin mencionó, ¿cuál es la configuración del disco de dev?Probablemente mucho más lento que el prod, ¿está Dev en una máquina virtual que está en discos compartidos?Sobrescribir la base de datos anterior es más rápido que eliminar la base de datos anterior y comenzar de cero, ¿está eliminando explícitamente primero? 04 dic. 132013-12-04 17:57:46

  0

He utilizado toda la optimización de restauración que se ajuste a mi situación.Mi problema es que si realizo una copia de seguridad del área de desarrollo y la restauro, se ejecuta mucho más rápido que la restauración de la producción, aunque el tamaño de la base de datos es idéntico (y se restaura desde el mismo directorio, por lo que no hay discrepancia de hardware)Estoy tratando de encontrar una manera de lograr que la restauración de la producción se ejecute tan rápidamente como la restauración del desarrollo.Por alguna razón, RESTORE WITH MOVE parece ser mucho más lento que un RESTORE estándar. 05 dic. 132013-12-05 09:26:44

  0

¿Hay una gran diferencia entre el tamaño del archivo de registro de transacciones en DEV y Producción? 05 dic. 132013-12-05 10:55:52

2

La velocidad de restauración dependerá del hardware que utilice para el entorno DEV.

Yo sugeriría activar Instant File Initialization .Cuando se restauran las copias de seguridad, el espacio debe asignarse previamente antes de que se pueda realizar una restauración e IFI es una bendición para tales escenarios.Inicialización instantánea de archivosSolo afecta a archivos MDF y NDF., no archivos LDF.En otras palabras, los archivos de registro de transacciones no pueden aprovechar la inicialización instantánea de archivos.

Además, puedes jugar con BufferCount y MaxTransferSize .Lea hasta Optimizing Database Restores .