如何在当前服务器上附加只有主数据文件(即只有*.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)检查数据库的完整性.