这几天单位的SQL Server业务数据生产库出现数据库日志增长迅速,导致最终数据无法写入数据库,业务系统提示“数据库事务日志已满”,经过多方咨询和请教,终于将日志异常的数据库处理完毕,现总结下处理过程,希望可以帮助到同样遇到此问题的小伙伴。--在菜鸟的路上越走越远
--第一步:查询服务器上所有日志大小情况
DBCC SQLPERF(LOGSPACE)
--第二步:查询日志设置方式
SELECT name,recovery_m odel_desc,log_reuse_wait,log_reuse_wait_desc
FROM sys.databases where log_reuse_wait=6
--第三步:定位数据库
USE BAK
GO
--第四步:查看是否开启cdc功能
select is_tracked_by_cdc,*from sys.tables where is_tracked_by_cdc=1
--第五步:清理到活动日志,把日志标记为已经发布状态
EXEC sp_repldone @xactid = NULL, @xact_segno = NULL, @numtrans = 0, @time = 0, @reset = 1
--第六步:
EXEC sys.sp_cdc_disable_db
GO
--第七步:
EXEC sp_removedbreplication BAK
GO
--第八步:手动收缩数据库日志,详细收缩方式https://www.cnblogs.com/since-1995/p/11694373.html