日期:2014-05-19  浏览次数:20342 次

如何在当前服务器上附加只有主数据文件(即只有*.MDF文件)的数据库!?
服务器上本来有taohis这个数据库,由于某些原因导致数据库被置疑,taohis_Log.ldf这个文件又丢失了,只剩下了taohis_DATA.Mdf这个主数据文件!为了防止数据丢失,如何在只有主数据文件taohis_DATA.Mdf的情况下附加数据库或者恢复taohis数据库!?


        多谢各位高手赐教!!!

------解决方案--------------------
如果日志文件损坏,那么需要这样:

注意: 由于事务日志丢失, 数据库可能有没有提交的数据.

注: 所有红色部分都要替换成真实的数据库名字

步骤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)检查数据库的完整性.