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 plain copy
1 use master;
2
3 GO
4 alter database [FightWarPkDb] set Emergency;
5 GO
6 exec sp_dboption [FightWarPkDb], single, true
7 GO
8 -- 重建数据库日志文件
9 alter database [FightWarPkDb] Rebuild Log on ( name =FightWarPkDb,filename= 'F:\SqlDb\FightWarPkDb_log.LDF' )
10 GO
11 alter database [FightWarPkDb] set multi_user
12 GO
注:针对有多个分件组与文件的数据库,也只需要新建一个主文件就可以了,覆盖也只需要覆盖主文件;