怎样清理或者删除MSSQL数据库日志文件

 我来答
greystar_cn
2018-03-26 · 知道合伙人软件行家
greystar_cn
知道合伙人软件行家
采纳数:16407 获赞数:17260
本人主要从事.NET C#方向的技术开发工作,具有10多年的各类架构开发工作经验。

向TA提问 私信TA
展开全部

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

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

1、删除LOG

1.1 分离数据库

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

勾选删除连接

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

1.2 删除LOG文件

1.3 附加数据库

附加的时候会提醒找不到log文件。

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

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

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

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

Sp_detach_db:分离数据库;

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可以使用。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式