use dzicube DBCC CHECKDB (dzicube,repair_allow_data_loss) DBCC CHECKDB (dzicube,repair_rebuild) 数据库日志删除重建方法 -- 不用下面文字说明直接运行语句重建日志文件也可以。 sql server 2005只有.mdf文件如何附加 、新建一个同名数据库,停止sql服务,删除新建数据库.ldf文件 2、将要附加的数据库的.mdf文件覆盖刚新建的.mdf文件,并重启服务 这时数据库DATA目录下只有一个.mdf文件,启动sql server Management studio --新建查询 use master go alter database dzicube set emergency go --置数据库为单用户模式 alter database dzicube set single_user with rollback immediate go --重建数据库日志文件 alter database dzicube Rebuild Log on (name=log_name,filename='D:\ICUBE_DB_MULTI\DZICUBELOG.ldf') go --最后设置数据库为多用户模式。 alter database dzicube set multi_user 通过以上方法修复数据库后,可以dbcc checkdb一下数据库,如果发现页级错误,可以通过以下命令修复。 这两个命令要在单用户的情况下使用 Use master go sp_dboption dzicube, single, true dbcc checkdb(dzicube,REPAIR_ALLOW_DATA_LOSS) dbcc checkdb(dbname,REPAIR_REBUILD) --最后再设置数据库为多用户模式 下面是我实际测试成功的语句: [sql] 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:\SqlDb\FightWarPkDb_log.LDF') 10 GO 11 alterdatabase [FightWarPkDb] set multi_user 12 GO 注:针对有多个分件组与文件的数据库,也只需要新建一个主文件就可以了,覆盖也只需要覆盖主文件;