sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cómo se hace una copia de seguridad y se restaura una base de datos como una copia en el mismo servidor?

RESTORE FILELISTONLY es un comando informativo y no es necesario para realizar una restauración. Un usuario puede usar esto para averiguar cuáles son los nombres lógicos para los archivos de datos, que se pueden usar con MOVE comandos para restaurar la base de datos a una nueva ubicación.

Como sugiere el mensaje de error, debe usar RESTORE FILELISTONLY para ver cuáles son los nombres lógicos para la base de datos. Su comando de restauración tiene estos errores.

Este es un ejemplo práctico de lo que debe hacer:

--backup the database
backup database test1 to disk='c:\test1_full.bak'

-- use the filelistonly command to work out  what the logical names 
-- are to use in the MOVE commands.  the logical name needs to
-- stay the same, the physical name can change
restore filelistonly from disk='c:\test1_full.bak'
 --------------------------------------------------
|  LogicalName  |           PhysicalName           |
 --------------------------------------------------
| test1         | C:\mssql\data\test1.mdf          |
| test1_log     | C:\mssql\data\test1_log.ldf      |
 -------------------------------------------------

restore database test2 from disk='c:\test1_full.bak'
with move 'test1' to 'C:\mssql\data\test2.mdf',
move 'test1_log' to 'C:\mssql\data\test2.ldf'