Necesito programar (T-SQL) restaurar una copia de seguridad de la base de datos en SQL Server 2008. Esta copia de seguridad proviene de un servidor diferente y el nombre de la base de datos original puede haber sido diferente también. (En efecto, estoy copiando una base de datos de algún servidor a una nueva base de datos en otro servidor).¿Cómo restaurar una copia de seguridad de la base de datos de SQL Server sin conocer la ruta de destino o los nombres de archivo?
Aparentemente, tengo que usar RESTORE DATABASE ... WITH MOVE
, que funciona, pero necesitaría saber dónde deberían restaurarse los archivos y cómo deberían ser nombrados. A pesar de la búsqueda, no he encontrado lo que parecería ser la tarea más básica: simplemente use la ruta predeterminada y los nombres de archivo, es decir, haga lo que haga el SQL Server cuando emita un CREATE DATABASE
; no tiene que especificar la ruta para ese comando, entonces ¿por qué es necesario para un RESTORE
?
¿He pasado por alto alguna solución trivial, o realmente tendré que enumerar los archivos, de alguna manera encontrar el directorio de la base de datos desde la configuración de SQL Server, y usar esa información para construir el comando RESTORE
? Gracias.
(Comparando con PostgreSQL, donde al usar pg_restore, especifica una base de datos de destino que ya está creada, y cuando la estaba creando tenía la opción -no obligatoria- de especificar un espacio de tabla no predeterminado, pero si no lo hacía 't, simplemente no le importa dónde se almacenan físicamente los archivos.)
Bienvenido a StackOverflow: si publica código, XML o muestras de datos, ** por favor ** resalte esas líneas en el editor de texto y haga clic en el botón "muestras de código" ('{}') en la barra de herramientas del editor formato y sintaxis resaltarlo! –