RESTORE FILELISTONLY
è un comando informativo e non è necessario per eseguire un ripristino. Un utente può usarlo per capire quali sono i nomi logici per i file di dati, che possono essere utilizzati con MOVE
comandi per ripristinare il database in una nuova posizione.
Come suggerito dal messaggio di errore è necessario utilizzare RESTORE FILELISTONLY
per vedere quali sono i nomi logici per il database. Il tuo comando di ripristino li ha sbagliati.
Ecco un esempio funzionante di cosa devi fare:
--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'