Me parece recordar que, en 2008, podría restaurar una copia de seguridad a una nueva copia de una base de datos, cambiando el nombre en el campo "Base de datos de destino" desde el asistente de restauración. Crearía una nueva base de datos, que es una copia de la base de datos original restaurada en el momento que deseaba. Por mi vida no he descubierto cómo hacer que SQL 2012 haga esto.
Ahora, entiendo (gracias a Aaron Bertrand) que esto realmente no cambió, y que 2012 en realidad me está haciendo más obvio que esta estrategia fue una mala idea en primer lugar.
Entonces, lo que necesito hacer es esto: crear una nueva base de datos, 'MyDB_Copy', a partir de una base de datos existente, 'MyDB', utilizando sus archivos de respaldo. Tenemos copias de seguridad completas nocturnas (.bak) y TLogs cada 15 minutos (.trn). No quiero que el 'MyDB' existente se vea afectado / tocado en absoluto, porque es "en vivo".
Después de crear MyDB_Copy a partir del archivo principal de copia de seguridad completa, necesito restaurar algunas docenas de copias de seguridad de TLog para llegar a un cierto punto en el tiempo.
fuente
Respuestas:
Basado libremente en el Ejemplo E en la documentación , abra una nueva ventana de consulta y ejecute:
Los nombres lógicos no son importantes; Los nombres de los archivos físicos son. Esto hace suposiciones sobre los nombres de sus archivos lógicos y que solo hay dos; corre
EXEC MyDB..sp_helpfile;
para estar seguro.Si necesita restaurar registros, cambie
RECOVERY
aNORECOVERY
:Entonces puede emitir una serie de:
Y en el último:
O si solo necesita parte de un registro hasta cierto punto (supongo que ha verificado dónde están los LSN y los tiempos para saber exactamente qué archivos necesita):
La forma en que dijo que funcionó en versiones anteriores nunca hubiera funcionado, a menos que la copia de seguridad provenga de un servidor diferente. Por defecto, intentará colocar los nuevos archivos mdf y ldf exactamente en el mismo lugar, y esto no es posible.
fuente
Todo lo que necesita hacer para restaurar la misma base de datos varias veces es cambiar el nombre de los archivos de disco para esa base de datos. Obviamente, también debe darle a la base de datos un nombre diferente a cualquier otra base de datos en SQL Server. En SSMS después de seleccionar el archivo .bak para restaurar y escribir el nombre de la base de datos, haga clic en 'Archivos' en la sección "Seleccionar una página" a la izquierda y simplemente cambie el nombre de los archivos del disco.
Saludos Doug
fuente