数据库日志删除重建方法

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 

 

注:针对有多个分件组与文件的数据库,也只需要新建一个主文件就可以了,覆盖也只需要覆盖主文件;

原文地址:https://www.cnblogs.com/snake-hand/p/3146836.html