停止sql server后,删除数据库日志文件,执行附加语句时,数据库附加失败

上一篇 / 下一篇  2010-07-05 13:51:42 / 个人分类:数据库

以下操作主要是sql server2000下,2005的没有尝试过
解决方法:
请遵照如下步骤来试图重建数据库事务日志.
注意: 由于事务日志丢失, 数据库可能有没有提交的数据.
注: 所有红色部分都要替换成真实的数据库名字
步骤1:
创建一个新的数据库,命名为原来数据库的名字.
步骤2:
停止SQL Server
步骤3:
把老数据库的MDF文件替换新数据库的相应的MDF文件, 并把LDF文件删除
步骤4:
重新启动SQL Server 服务,然后运行如下命令:
        Use Master
                Go
                sp_configure 'allow updates', 1
                reconfigure with override
                Go
        begin tran
                update sysdatabases set status = 32768 where name = 'db_name'
                -- Verify one row is updated before committing
        commit tran
步骤5:
停止SQL然后重新启动SQL Server 服务,然后运行如下命令:
        DBCC TRACEON (3604)
                DBCC REBUILD_LOG('db_name','c:\mssql7\data\dbxxx_3.LDF')
                Go
步骤6:
停止SQL然后重新启动SQL Server 服务,然后运行:
   use master
                update sysdatabases set status = 8 where name = 'db_name'
                Go
                sp_configure 'allow updates', 0
                reconfigure with override
                Go
步骤7:
运行dbcc checkdb(db_name)检查数据库的完整性.

TAG:

 

评分:0

我来说两句

Open Toolbar