log_reuse_wait_desc为REPLICATION,日志暴大,无法收缩
早上检查数据发现,有一台数据的硬盘空间只剩下几MB。习惯性检查日志文件,发现日志文件居然暴增到了350多GB
首先备份日志,再收缩-------无变化。(实际上日志备份每1小时1挡,正常在跑.)
---------------------------------------------------------------------------
检查日志空间占用及不能截断原因:
DBCC SQLPERF(LOGSPACE)
GO
SELECT name,recovery_model_desc,log_reuse_wait,log_reuse_wait_desc
FROM sys.databases
GO


可以看到log_reuse_wait_desc 为REPLICATION
在该库下执行DBCC loginfo(),可以看到该数据库的所有VLF的状态都为2,也就是active状态。
DBCC loginfo()

-----------------------------------------------------------------------
sp_removedbreplication 'XXXX'
实际上由于这个数据库之前并没有搭建过复制。服务器应该也没有改过名字,所以该大招无效。
-----------------------------------------------------------------------
既然不是复制为何log_reuse_wait_desc 为REPLICATION呢?
疑凶转移到了CDC(CDC和复制实际上底层都是使用LogReader的Job来扫描日志)。
SELECT IS_CDC_ENABLED
,CASE WHEN IS_CDC_ENABLED = 0
THEN 'CDC功能禁用'
ELSE 'CDC功能启用'END 描述
FROM SYS.DATABASES
WHERE NAME = 'XXXX'

该库果然开启了CDC,继续检查CDC Job的运行状态:
Declare @Job_ID as UNIQUEIDENTIFIER
select @Job_ID=Job_ID from msdb.dbo.sysjobs where name = 'cdc.XXXX_capture'
Exec master..sp_MSget_jobstate @Job_ID

返回值为 4 - 表示完成(成功或失败),正常情况下CDC Capture的Job应该是1(正在运行)才对。
断定cdc.XXXX_capture这个Job由于某种原因被异常中止了。
------------------------------------------------------------------------------------
至少日志不能截断的原因终于找到了。
手动启动cdc.XXXX_capture。此处省略NNNN分钟等待(在此提醒各位硬盘空间不够的童鞋,cdc捕获也需要大量磁盘空间哦!!!腾出足够的硬盘空间或者新建个log文件在其他盘吧)。
等待log_reuse_wait_desc状态变为LOG_BACKUP。
备份日志后收缩日志成功!~
打完收工。
log_reuse_wait_desc为REPLICATION,日志暴大,无法收缩的更多相关文章
- 一个哥们看到数据库日志不断增大 [log_reuse_wait_desc]为replication 之后的做法
一哥们看到数据库日志不断增大 [log_reuse_wait_desc]为replication 之后的做法 一天那个哥们看到数据库日志暴涨,用sys.databases 视图看一下[log_reus ...
- sqlserver 事务日志过大 收缩方法解决方案
sqlserver 事务日志过大,可能会导致备份失败或者数据库出现异常,所以要定期清除sqlserver 事务日志 建议:为了防止日志文件无限扩大,可以对日志文件作一些限制. 清除sqlserver事 ...
- MSSQL收缩事务日志&日志文件过大无法收缩
原文:MSSQL收缩事务日志&日志文件过大无法收缩 一.MS SQL SERVER 2005 --1.清空日志 exec('DUMP TRANSACTION 数据库名 WITH NO_LOG' ...
- SQLServer某个库log日志过大,无法收缩日志文件 ,因为该文件结尾的逻辑日志文件正在使用
问题描述: 今天看到user库日志备份方面很久,然后查看到user库这个log日志很大 图片是我已经解决了,然后现在可以收缩的大小 解决方法: 1.先备份user库日志,因为很大,所以要等很久,这个只 ...
- 分享工作中遇到的问题积累经验 事务日志太大导致insert不进数据
分享工作中遇到的问题积累经验 事务日志太大导致insert不进数据 今天开发找我,说数据库insert不进数据,叫我看一下 他发了一个截图给我 然后我登录上服务器,发现了可疑的地方,而且这个数据库之前 ...
- Sqlserver数据库日志太大如何快速删除
sqlserver使用在windows系统中,如果文件超上百GB了,我们还直接删除不了,这个问题我以前的apache日志就碰到过,至今还没删除呢,那么Sqlserver数据库日志太大如何快速删除呢,有 ...
- Oracle归档日志暴增排查优化
1.ORACLE归档日志介绍 归档日志暴增是oracle比较常见的问题,遇到归档日志暴增,我们该如何排查: 归档日志暴增一般都是应用或者人为引起的 理解归档日志存储的是什么 如何排查归档日志暴增原因 ...
- hadoop日志太大
hadoop jobtracker日志太大在jobtracker服务器上的mapred-site.xml中添加以下参数: <property> <name>mapreduce. ...
- discuz论坛apache日志hadoop大数据分析项目:清洗数据核心功能解说及代码实现
discuz论坛apache日志hadoop大数据分析项目:清洗数据核心功能解说及代码实现http://www.aboutyun.com/thread-8637-1-1.html(出处: about云 ...
随机推荐
- JAVA的Random类[转]
在实际的项目开发过程中,经常需要产生一些随机数值,例如网站登录中的校验数字等,或者需要以一定的几率实现某种效果,例如游戏程序中的物品掉落等. 在Java API中,在java.util包中专门提供了一 ...
- winform 控件(2)
1.picturebox:图片(属性)sizemide:调整图片 [出现在form的下方]2.imagelist--图片集(在form下方显示)有索引号,记住索引号对应的图片代码:pictureBox ...
- ComponentCount 与 ControlCount 区别
ShowMessage(panel.ComponentCount.ToString); ShowMessage(panel.ControlCount.ToString);componetcou ...
- Nginx 学习
1.Nginx编译安装 nginx依赖于pcre库,需要先安装pcre(二进制包,跟正则表达式有关),pcre-devel(头文件) configure --prefix=/usr/local/ng ...
- 无法连接到已配置的开发web服务器
http://jingyan.baidu.com/article/29697b91099847ab20de3c8b.html 这是防火墙造成的,将防火墙关闭即可
- 关于UID和GID的创建、修改、删除;简要举例
用户.组和权限 安全3A资源分派 (authentication)认证 (authorization)授权 (accounting)审计 user( 用户) Linux用户:Username/UID ...
- VC++ CButton::SetCheck 的使用方法
CButton::SetCheck void SetCheck(int nCheck); 参数 nCheck 指定检查状态. 此参数可以是下列值之一: 值 ...
- Factstone Benchmark
[问题描述] Amtel已经宣布,到2010年,它将发行128位计算机芯片:到2020年,它将发行256位计算机:等等,Amtel坚持每持续十年将其字大小翻一番的战略.(Amtel于2000年发行了6 ...
- 将C语课设传到了Github和Code上 2015-91-18
一直听说Git好使,以前捣鼓过没弄成,现在考完试了终于可以静下心来研究研究. 哎,我要是当时做课设的时候就用Git,也能省下不少事呢. 使用的Git教程,刚看个开头: 廖雪峰的Git教程 http:/ ...
- 如何用Jquery实现 ,比如点击图片之后 ,该图片变成向下的箭头,再点击向下箭头的图片 又变成原始图片呢
<!DOCTYPE html><html><head><meta charset="utf-8" /><title>切换 ...