sql server 还原数据库失败

在尝试还原名为'HIMS'的SQL Server数据库时,遇到设备激活错误,提示物理文件名可能有误。通过查询分析器使用RESTORE FILELISTONLY获取文件逻辑名,然后使用WITH MOVE选项指定有效位置,成功解决了数据库还原问题。


1.还原数据库时出现错误:
  (1)出现错误的原因:
      有一个数据库HIMS,很早之前就已经删除了,但是只在本地留下一个备份,该备份路径是'D:/新建文件夹',名字叫HIMS,现在想还原这个数据库,于是在本地建立一个数据库,名字叫HIMS,数据文件HIMS_Data.mdf和日志文件HIMS_Log.ldf都在路径'D:/software/Microsoft SQL Server/MSSQL/Data'下,然后通过企业管理器进行还原,结果出现错误:

设备激活错误。物理文件名'D:/software/Microsoft SQL Server/MSSQL/Data/HIMS_Data.mdf' 可能有误。
文件 'HIMS_Data' 无法还原为'D:/software/Microsoft SQL Server/MSSQL/Data/HIMS_Data.mdf' 。请使用 WITH MOVE 选项来标识该文件的有效位置。
设备激活错误。物理文件名 名'D:/software/Microsoft SQL Server/MSSQL/Data/HIMS_Log.ldf' 可能有误。
文件 'HIMS_Log' 无法还原为名'D:/software/Microsoft SQL Server/MSSQL/Data/HIMS_Log.ldf' 。请使用 WITH MOVE 选项来标识该文件的有效位置。
RESTORE DATABASE 操作异常终止。

 

 (2)解决办法:
     用查询分析器,在master数据库下执行语句(如果提示数据库正在使用的错误信息,请把企业管理器和查询分析器都关闭后,在重新打开查询分析器):
restore filelistonly from disk = 'D:/新建文件夹/HIMS'
查询结果如下:
------------------------------------------------------------------------------------------------------------------------
   LogicalName   PhysicalName              Type  FileGroupName  Size    
------------------------------------------------------------------------------------------------------------------------
1  HIMS          C:/Program Files/Microsoft SQL Server/MSSQL/data/HIMS.mdf D     PRIMARY        1048576 
2  HIMS_log      C:/Program Files/Microsoft SQL Server/MSSQL/data/HIMS_log.LDF  L     NULL           516096
------------------------------------------------------------------------------------------------------------------------
这时要获取字段 LogicalName的值,然后执行语句
restore database HIMS from disk = 'D:/新建文件夹/HIMS' with
move 'HIMS' to 'D:/software/Microsoft SQL Server/MSSQL/Data/HIMS_Data.mdf',
move 'HIMS_Log' to 'D:/software/Microsoft SQL Server/MSSQL/Data/HIMS_Log.ldf'

如果出现信息

已处理 120 页,这些页属于数据库 'HIMS' 的文件 'HIMS'(位于文件 1 上)。
已处理 1 页,这些页属于数据库 'HIMS' 的文件 'HIMS_log'(位于文件 1 上)。
RESTORE DATABASE 操作成功地处理了 121 页,花费了 0.164 秒(6.006 MB/秒)。

表示还原数据库成功

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值