sql数据库怎么删除log文件与清空日志

发布时间:2020-01-24编辑:脚本学堂
本文介绍了sql server数据库中删除log文件与清空日志的方法,包括删除log、清空日志、收缩数据库文件、截断事务日志等操作,需要的朋友参考下。

在影响sql server数据库性能的诸多因素中,日志文件的大小与增长速度,无疑是一个非常重要的因素了。

sql数据库中,日志文件的增多严重影响数据库的性能,这里jbxue小编为大家介绍下sql server删除日志文件的方法,一起来看看吧。

数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间。

sql server数据库都有log文件,log文件记录用户对数据库修改的操作。可以通过直接删除log文件和清空日志在清除数据库日志。

1、删除log
1.1 分离数据库
分离数据库之前一定要做好数据库的全备份,选择数据库——右键——任务——分离。
分离数据库

勾选删除连接
分离数据库

分离后在数据库列表将看不到已分离的数据库。

1.2 删除log文件
1.3 附加数据库
附加的时候会提醒找不到log文件。

附加数据库
删除ldf文件
删除数据库信息信息的ldf文件:

删除ldf文件

附加数据库之后将生成新的日志文件log,新的日志文件的大小事504K。

1.4 也可以通过命令才完成以上的操作
 

复制代码 代码示例:
use master;
exec sp_detach_db @dbname='数据库名';
exec sp_attach_single_file_db @dbname='数据库名',@physname='D:Program FilesMicrosoft SQL ServerMSSQL10.SQL2008MSSQLDATATestDB.mdf'

Sp_detach_db:

1、分离数据库;
sp_attach_single_file_db:附加单个数据库文件;在上述代码中只附加了数据文件,而未附加日志文件,言下之意就是删除了日志文件。

该命令在sql server 2005和2000支持,sql server 2008不支持该命令。

2、清空日志
 

dump transaction 数据库名 with no_log

3. 收缩数据库文件
 

dbcc shrinkfile ('testdb_log',1)

sql server中“数据收缩”详解

4、截断事务日志
 

backup log testdb with no_log

该命令在sql server 2008也是不支持,在sql server 2005和2000可以使用。