今天在写一个每周取备份恢复的脚本,
(从一个机器上去APPDB库的备份到另外一台机器上进行还原)
在执行还原脚本时报错,)
我的原脚本如下:
set @CMD= 'restore database ' + @prodDB + ' from disk =''E:\gildata\BAK\APPDB\'+@backup_dir+'1.bak'''
+', disk =''E:\gildata\BAK\APPDB\'+@backup_dir+'2.bak'''
+', disk =''E:\gildata\BAK\APPDB\'+@backup_dir+'3.bak'''
+', disk =''E:\gildata\BAK\APPDB\'+@backup_dir+'4.bak'''
+' with replace, move '+ '''APPDB'' to ''N:\Gildata\APPDB\APPDB_Data.mdf'''
+', move '+ '''APPDB_Log'' to ''N:\Gildata\APPDB\APPDB_Log.ldf'''
exec (@CMD)
报错如下:
消息 3234,级别 16,状态 2,第 1 行
逻辑文件 'APPDB_Data' 不是数据库 'APPDB' 的一部分。请使用 RESTORE FILELISTONLY 来列出逻辑文件名。
消息 3013,级别 16,状态 1,第 1 行
RESTORE DATABASE 正在异常终止。
解决办法:
使用RESTORE FILELISTONLY 来列出逻辑文件名。
再将原代码改为
然后还原就可以成功了。