原文如下:http://hi.baidu.com/qtxcm/blog/item/bc26c9238e9129dbe6cd4099.html
sql server 2005只有.mdf文件如何附加
、新建一个同名数据库,停止sql服务,删除新建数据库.ldf文件
2、将要附加的数据库的.mdf文件覆盖刚新建的.mdf文件,并重启服务
这时数据库DATA目录下只有一个.mdf文件,启动sql server Management studio --新建查询
use master
go
alter database db_name set emergency
go
--置数据库为单用户模式
alter database db_name set single_user with rollback immediate
go
--重建数据库日志文件
alter database db_name Rebuild Log on (name=log_name,filename='C:\log_name.ldf')
go
--最后设置数据库为多用户模式。
alter database dbname set multi_user
通过以上方法修复数据库后,可以dbcc checkdb一下数据库,如果发现页级错误,可以通过以下命令修复。
这两个命令要在单用户的情况下使用
Use master
go
sp_dboption 数据库名, single, true
dbcc checkdb(dbname,REPAIR_ALLOW_DATA_LOSS)
dbcc checkdb(dbname,REPAIR_REBUILD)
--最后再设置数据库为多用户模式
下面是我实际测试成功的语句:
use master; GO alter database [FightWarPkDb] set Emergency; GO exec sp_dboption [FightWarPkDb], single, true GO --重建数据库日志文件 alter database [FightWarPkDb] Rebuild Log on (name=FightWarPkDb,filename='F:\SqlDb\FightWarPkDb_log.LDF') GO alter database [FightWarPkDb] set multi_user GO