清除SQLServer数据库日志(ldf文件)的几种方法

概述

我是下面有三个ldf:**_log2.ldf,**_log3.ldf,**_log.ldf,我是通过方案2减小了**_log.ldf。另两个改了后缀名还没有报错,因为我这个是测试环境,运行一段时间没事我就删掉。

        随着系统运行时间的推移,数据库日志文件会变得越来越大,这时我们需要对日志文件进行备份或清理。

解决方案1 - 直接删除本地ldf日志文件:(比较靠谱方案!)

1. 在SQL管理器分离数据库。
2. 对数据库日志文件进行压缩备份(rar, zip)
3. 直接删除ldf文件。
4. 再附加数据库。若出现下图错误,选择日志文件记录(提示文件找不到),点下面的【按钮】删除!

贴图图片-附加数据库1

附加数据库文件成后,查阅本地数据库文件,发现重新生成的日志文件为504KB。

贴图图片-附加数据库12

解决方案2 - 收缩数据库日志文件 (最靠谱方案!)

分两步操作:
step 1.操作步骤:在数据库右键  --> 数据库属性  --> 选项  --> 将数据库【恢复模式】修改为【简单】。 点确定按钮。
step 2.在数据库右键  --> 任务 --> 收缩 -->文件 -->文件类型选择【日志】 --> 将文件收缩到1MB。 点确定按钮。
最后:为了安全最好再改回 step 1。
贴图图片-收缩数据库日志

解决方案3 - 采用SQL脚本删除。

经测试,本地ldf文件有的变化有的没有发生任何变化!
 
SQL Code:


--下面的所有库名都指你要处理的数据库的库名

--1.清空日志 
DUMP TRANSACTION 库名 WITH NO_LOG

--2.截断事务日志: 
BACKUP LOG 库名 WITH NO_LOG

--3.收缩数据库文件(如果不压缩,数据库的文件不会减小 
企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件 
--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了 
--选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了

--也可以用SQL语句来完成(注:根据我的实践,用企业管理器执行收缩操作后,ldf文件大小并没有发生变化,用下面的SQL指令就可以)

--收缩数据库 
DBCC SHRINKDATABASE(XQOMS)
DBCC SHRINKDATABASE(XQOMS_System)

--收缩指定数据文件,1是文件号,可以通过这个语句查询到:select * from sysfiles 

--select * from sysfiles

DBCC SHRINKFILE(1)
DBCC SHRINKFILE(2)

//来源:C/S框架网 | www.csframework.com | QQ:23404761

转:http://www.csframework.com/archive/1/arc-1-20201126-2946.htm

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值