SQL2005 如何在没有日志文件的情况下如何恢复MDF数据库文件

如果你的sqlserver2005安装在d盘下 得在c盘建立相应的C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA目录

第一步:先建立一个同名数据库,停止SQL SERVER2005,将没有日志的的.mdf数据库文件覆盖刚新建的.mdf数据库文件,重新启动数据库。
第三步:在查询分析器中运行如下代码:

alter database 数据库名   set emergency   '--将数据库设置为紧急状态

use master

declare @databasename varchar(255)

set @databasename='数据库名'         '--你的.mdf文件文件名

exec sp_dboption @databasename, N'single', N'true' --将目标数据库置为单用户状态

dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)

dbcc checkdb(@databasename,REPAIR_REBUILD)

exec sp_dboption @databasename, N'single', N'false'--将目标数据库置为多用户状态

注:其中有一点是非常重要的:比如说 原数据库是在d:\data下,那么新建的数据也必须在d:\data下,在些过程中有可能丢失数据,不知道2000会不会,初步想法2000附加成功之后,再附加到2005上,还没测试

posted @ 2009-08-11 10:22  awp110  阅读(307)  评论(0编辑  收藏  举报