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)
--最后再设置数据库为多用户模式
下面是我实际测试成功的语句:
[sql]view plaincopy
1 use master;
2
3 GO
4 alterdatabase [FightWarPkDb] set Emergency;
5 GO
6 exec sp_dboption [FightWarPkDb], single, true
7 GO
8 --重建数据库日志文件
9 alterdatabase [FightWarPkDb] Rebuild Log on (name=FightWarPkDb,filename='F:SqlDbFightWarPkDb_log.LDF')
10 GO
11 alterdatabase [FightWarPkDb] set multi_user
12 GO
注:针对有多个分件组与文件的数据库,也只需要新建一个主文件就可以了,覆盖也只需要覆盖主文件;