还原SQL 数据库出现错误-完美解决方案

本文提供了一种解决SQL Server数据库强制还原时遇到错误的方法。通过一个具体的脚本实例,展示了如何查询数据库的位置及文件名,并给出了从指定路径进行强制断开连接与恢复数据库的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题如下:

强制还原还是出错:

查看路径 应该是与原来的不一致

果然原来的是SQL SERVER 安装路径是C盘

手动操作就不讲了:

写个脚本处理:

----------------------------- 查询查询出了位置及文件名------------------
restore filelistonly from disk= 'E:/Data/SHAT_new0827 '
--方法一
-----------------------------先强制断开,再恢复------------------------
/*
*SHAT_new为原数据库名字
*test为新数据库
*注意:在盘必须有足够的空间,而且 'E:/Microsoft SQL Server/MSSQL/Data/这个目录必须存在,否则就改别的位置
*作者:德仔 20110108
*/


use master
go

declare tb cursor local for
select 'kill '+rtrim(spid) from sysprocesses
where dbid=db_id( 'test ') --新数据库名字
open tb
declare @s varchar(100)
fetch tb into @s
while @@fetch_status=0
begin
exec(@s)
fetch tb into @s
end
close tb
deallocate tb
go

restore database test from disk= 'E:/Data/SHAT_new0827 '
with replace --加上强制替换
,move 'SHAT_new ' to 'E:/Microsoft SQL Server/MSSQL/Data/SHAT_new.MDF ' ---必须是原来的数据库
,move 'SHAT_new_log ' to 'E:/Microsoft SQL Server/MSSQL/Data/SHAT_new.lDF '

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值