Only mdf,怎么SqlServer数据库还原

Only mdf,怎么SqlServer数据库还原

无语的开头

工程上的小伙伴将服务器的【本地IP】一改,然后数据库连不上了,可能有点着急,就把SqlServer2012给卸载了(大家都知道,SqlServer卸载干净不容易,结果可知啊…)。

然后他再装SqlServer2012就装不上了,这时候才回头发现,原来他说的数据库备份,是直接将数据库的【mdf文件】拷贝出来的(有且只有mdf 而且还不是常规的脱机>分离)…

这小伙伴虽然不用重装系统,却安装了SqlServer2014,后续一片折腾…

具体情况

操作:新建数据库>>关闭数据库服务>>将mdf覆盖>>修改mdf权限>>开启服务>>运行SQL 修复目标数据库>>OK
现实很骨感啊:
在这里插入图片描述
在这里插入图片描述

好好干活解决问题

需要还原的mdf,为A
新建的mdf,为B

准备SqlServer2012>>新建数据库B>>停止数据库服务>>用A覆盖B>>修改mdf访问权限(everyone完全控制)>>启动数据库服务>>数据库软件中新建查询

执行下列SQL


修改数据库为【紧急】:
ALTER DATABASE safeMonitorApp1 SET EMERGENCY
修改数据库为【单用户访问】:
ALTER DATABASE safeMonitorApp1 SET SINGLE_USER


然后删除目录下的 ldf,然后执行
ALTER DATABASE safeMonitorApp1 REBUILD LOG ON (NAME=safeMonitorApp1_log, FILENAME=‘D:\DbProblem\safeMonitorApp1_log.ldf’)
在这里插入图片描述


最后执行这个一句,数据库就可用了:
ALTER DATABASE safeMonitorApp1 SET MULTI_USER

完在这里插入代码片成,将A 脱机分离,拿到目标主机的数据库上附加(记得把mdf、ldf的权限修改everyone完全控制),然后就可以了。

建议哈

数据库备份,采用bak备份(即数据库右键>>任务>>备份) 或者是 采用 整库备份(即数据库脱机>>分离>>mdf+ldf都备份)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值