sql server 2008R2 用单文件Mdf恢复数据库的方法

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)

 

 

posted @ 2012-07-13 10:18  夏远  Views(988)  Comments(0Edit  收藏  举报
Hit Counter
Americas Department Store