已解决:SQL Server 2012 事务日志已满,原因为“CheckPoint“,报9002错误,无法操作数据。

本文介绍了一种解决SQLServer2012中出现的事务日志已满问题的方法,该问题通常由CheckPoint导致。文章详细记录了多种尝试方案,并最终采用Rebuild日志文件的方式成功解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

客户现场的数据库,现象是写入、修改、删除都执行不了,日志文件大小修改不了,增加日志文件同样提示“事务日志已满,原因为CheckPoint“,网上关于SQL Server 2012此错误基本没有,查询数据库状态为CheckPoint状态,其它正常的数据库都是Nothing,尝试过以下方法:

1、脱机、分离,重新附加时删除Log文件,无效,同样错误

2、脱机、分离,创建同名数据库,文件名和日志文件也相同,停止数据库服务,将有数据的数据库主文件覆盖新建的,启动数据库服务,数据库变成成恢复,使用语句修复,报文件不同。

3、通过修改CheckPoint参数为10分钟,保存参数,重启,同样错误

4、按错误提示截断日志,发现SQL Server 2012不再支持日志截断

搞了两个小时,只好去bing搜索国际版,关键词CheckPoint  SQL Server 2012   9002,还真找到了一篇文章,通过Rebuild日志文件解决,语句如下:

ALTER DATABASE DatabaseName  set  EMERGENCY 
ALTER DATABASE DatabaseName  REBUILD LOG ON (NAME='DatabaseName_log',FILENAME='D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\DatabaseName_Log.LDF')
ALTER DATABASE DatabaseName  set ONLINE
ALTER DATABASE DatabaseName  SET MULTI_USER 

原地址:SQL SERVER - Transaction Log Full Due to 'CHECKPOINT' | SQL Conjuror

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值