日志文件的增加,占用大量的磁盘空间,并使得数据库的性能下降,可以通过直接删除log文件和清空日志在清除数据库日志来解决此问题。

数据库的性能是DBA都需要重点关注的,日志文件的增多严重影响数据库的性能,本文将为您介绍SQL Server删除日志文件的方法,供您参考,希望对您有所帮助。

数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间。SQL Server数据库都有log文件,log文件记录用户对数据库修改的操作。可以通过直接删除log文件和清空日志在清除数据库日志。

一、删除LOG

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

SQLServer删除log文件和清空日志的方法(清空sqlserver数据库日志)  SQL 删除 日志 第1张

勾选删除连接

SQLServer删除log文件和清空日志的方法(清空sqlserver数据库日志)  SQL 删除 日志 第2张

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

2、删除LOG文件

3、附加数据库,附加的时候会提醒找不到log文件。

SQLServer删除log文件和清空日志的方法(清空sqlserver数据库日志)  SQL 删除 日志 第3张

SQLServer删除log文件和清空日志的方法(清空sqlserver数据库日志)  SQL 删除 日志 第4张

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

SQLServer删除log文件和清空日志的方法(清空sqlserver数据库日志)  SQL 删除 日志 第5张

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

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

use master;
exec sp_detach_db @dbname='TestDB';
exec sp_attach_single_file_db @dbname='TestDB',@physname='D:\Program Files\Microsoft SQL Server\MSSQL10.SQL2008\MSSQL\DATA\TestDB.mdf'


、清空日志

该命令在SQL Server 2005和2000支持,SQL Server 2008不支持该命令。

DUMP TRANSACTION TestDB WITH NO_LOG

三、收缩数据库文件

DBCC SHRINKFILE ('TestDB_log',1) 

四、截断事务日志

BACKUP LOG TestDB WITH NO_LOG

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

转载请说明出处
知优网 » SQLServer删除log文件和清空日志的方法(清空sqlserver数据库日志)

发表评论

您需要后才能发表评论