数据库“TSupervise” 的事务日志已满问题的解决之法

      写了个windows服务程序,并且设置为开机自动启动,功能为:将Acess数据库中的数据导入到SQL Server中,并且每隔10s导入一次。

结果开机启动后,数据导入一直在后台进行,不知过了多久,突然发现本奇卡,后来找原因才发现数据库中数据过多,打开数据库表一看,

发现有>1800w条数据记录,光日志文件都有10.5G左右,数据库文件1G左右。然后执行delete表操作,想清空表中记录,结果出现:

数据库 “TSupervise”的事务日志已满。若要查明无法重用日志中的空间的原因,请参阅 sys.databases 中的 log_reuse_wait_desc 列。

最后网上搜寻,终于找到解决方法,说是清空日志即可。方法如下所示:

1.打开查询分析器,输入:

dump transaction databasename(注:databasename为你要进行日志删除操作的数据库名) with no_log并执行。

2.查询分析器里输入:

alter database databasename set recovery simple

3.右键你要压缩的数据库--所有任务--收缩--文件,右侧会出现相应的信息,在“文件类型”中选择“日志”,在收缩操作中选择“在释放未使用的空间前重新组织页”,将文件收缩到xxMB,填入右侧括号的最小值即可。

以上步骤完成后,便可进行其他操作了,我后来将表中数据全部清空,结果花了我大概7min钟:


参考:http://bbs.csdn.net/topics/300122867

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值