RESTORE FILELISTONLY
ist ein Informationsbefehl und ist nicht erforderlich, um eine Wiederherstellung durchzuführen. Ein Benutzer kann dies verwenden, um herauszufinden, was die logischen Namen für die Datendateien sind, die mit MOVE
verwendet werden können Befehle, um die Datenbank an einem neuen Ort wiederherzustellen.
Wie in der Fehlermeldung vorgeschlagen, müssen Sie RESTORE FILELISTONLY
verwenden um zu sehen, wie die logischen Namen für die Datenbank lauten. Ihr Wiederherstellungsbefehl hat diese falsch.
Hier ist ein funktionierendes Beispiel dafür, was Sie tun müssen:
--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'