SQLServer2005无日志文件附加数据库

解决办法:

            1、新建一个同名数据库。

            2、停止数据库服务,覆盖新建的数据库主文件

               (最好放在同一个磁盘里面,把新建的数据库主文件删掉或移开,再把要恢复的数据库主文件Copy进去。)

            3、启动数据库服务,数据库变为置疑或可疑状态(有数据库名节点,无子节点)。然后在查询分析器(新建查询的Sql 文件)中运行:

                 alter database 无日志文件的数据库名称 set emergency;  作用:设置为紧急状态。

            4、再运行:alter database 无日志文件的数据库名称 set single_user;

                       或  Sp_dboption '无日志文件的数据库名称', 'single user', 'true';  作用:设置为单用户模式。

            5、检查并重建日志文件,运行:dbcc checkdb('无日志文件的数据库名称',REPAIR_ALLOW_DATA_LOSS)

                这个时间比较长。耐心等待!如果有错误提示,再运行:dbcc checkdb('无日志文件的数据库名称',REPAIR_REBUILD)  进行修复。如果没有错误,可以跳过。

            6、恢复成多用户模式 
                                    alter database 无日志文件的数据库名称 set multi_user

                                 或 Sp_dboption '无日志文件的数据库名称', 'single user', 'false'

            刷新数据库,你就可以看到已经修复好的数据库了。

            eg:  以zhishiku数据库为例,其步骤:

alter database zhishiku set emergency
go
alter database zhishiku set single_user
go
dbcc checkdb('zhishiku',REPAIR_ALLOW_DATA_LOSS)
go
dbcc checkdb('zhishiku',REPAIR_REBUILD)
go
alter database zhishiku set multi_user

               

原文地址:https://www.cnblogs.com/zuoguanglin/p/2629760.html