sql server 2008R2 用单文件Mdf恢复数据库的方法
问题:有Mdf数据库主文件,附加的时候,失败,提示没有ldf.
思路:在网上百度了很多的情况,试了很多很多,最后成功了,分享在这里
具体步骤:
use master
--1.置数据库的紧急模式
alter database srsuperMarket set emergency
go
--2.置数据库为单用户模式
alter database srsuperMarket set single_user with rollback immediate
go
--3.重建数据库日志文件
alter database srsuperMarket Rebuild Log on
(name=dbname_log,filename= 'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\srsuperMarket_log.LDF')
go
--4.检查修复数据库
--dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)
--dbcc checkdb(@databasename,REPAIR_REBUILD)
--5.最后设置数据库为多用户模式。
alter database srsuperMarket set multi_user
重要提示:这个时候必须要进行一次脱机和联机操作(右键->任务->脱机、联机)
你会惊奇的发现,数据库可以打开了。
通过以上方法修复数据库后可以用dbcc checkdb检查一下数据库,如果发现页级错误--可以通过以下命令修复。
dbcc checkdb(srsuperMarket,REPAIR_ALLOW_DATA_LOSS)
dbcc checkdb(srsupermarket,REPAIR_REBUILD)