数据库日志无法收缩

原创 2017年09月14日 22:14:28

前言


在论坛里面经常有人遇到,数据库日志文件无法收缩的问题。这里详细介绍下这个问题怎么解决。


处理


遇到日志文件无法收缩的问题,第一步肯定是先运行下面的命令:

SELECT name,log_reuse_wait_desc FROM sys.databases where name='dbname'



对应的log_reuse_wait_desc 说明如下图:


图中标红的几个是最常见的几种类型

对应LOG_BACKUP    ,先对数据库做个日志备份,或者 把数据库变成简单模式。然后再试着压缩数据库。

ACTIVE_TRANSACTION,使用 DBCC OPENTRAN (dbname) 检查数据库中是不是有开启未提交的事务,如果有就kill掉

对应REPLICATION ,很可能是因为数据库搭建了复制或者是曾经搭建了复制,没有清除干净。运行下面的命令彻底清除复制信息

exec sp_removedbreplication 'database'

另外,补充下,显示REPLICATION还有一种隐藏的原因,可能的因为数据库开启了CDC。因为他们都是使用的LOG READER。


总结

按照上面的操作步骤就可以解决几乎所有数据库日志无法收缩的问题。如果有遇到,用什么的办法还无法解决的案例,欢迎在评论中留言。


版权声明:本文为博主原创文章,未经博主允许不得转载。

SQL Server中收缩、清空和删除数据库文件及日志文件

一、简单方法  –SQL Server收缩方法  1、右键数据库→属性→选项→故障还原模型→设为简单→确定;  2、右键数据库→所有任务→收缩数据库→确定;  3、右键数据库→属性→选项→故障...
  • dawn4317
  • dawn4317
  • 2017年03月07日 19:52
  • 1649

SQL Server收缩数据库日志文件失败的解决办法

由于数据库日志文件过大导致磁盘不够用,我们采取的解决办法是收缩数据库日志文件,但是有时候执行收缩操作的时候不成功也不报错,这就头疼了: 先看下,如何做收缩操作的吧: 将文件收缩...
  • Wikey_Zhang
  • Wikey_Zhang
  • 2017年06月30日 16:18
  • 726

压缩数据库日志

经常在CSDN上看到网友发帖说,压缩日志文件处理不当,导致数据库损坏,甚至不能恢复数据,于是就写了一个通用的数据库日志文件压缩的存储过程来解决此问题:/*--压缩数据库的通用存储过程  压缩日志及数据...
  • zjcxc
  • zjcxc
  • 2004年03月08日 11:30
  • 4851

SQL SERVER实用经验技巧集 [一]

SQL SERVER实用经验技巧集 [一]   此文是Sql Server实用操作小技巧集合,包括安装时提示有挂起的操作、收缩数据...
  • wangjh422
  • wangjh422
  • 2008年02月27日 14:37
  • 209

SqlServer 数据库日志无法收缩处理过程

今天按常用方法收缩一个测试用的数据库日志,发现没法收缩!
  • kk185800961
  • kk185800961
  • 2014年12月11日 13:45
  • 4137

sql server2008 日志收缩 命令行

---首先备份数据库(含日志文件)  use myhis  go   backup database  myhis to disk='d:\myhis_rzbak'  go  ...
  • BlueCY
  • BlueCY
  • 2015年05月08日 10:44
  • 1342

SQL2005压缩清除日志

教你如何清除SQL日志 1.打开查询分析器,输入命令DUMP TRANSACTION 数据库名 WITH NO_LOG2. 再打开企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收...
  • lchyz89
  • lchyz89
  • 2012年06月29日 14:12
  • 780

SQLServer安全及性能优化

  • 2012年03月07日 20:49
  • 690KB
  • 下载

SQL SERVER 数据库日志已满,如何收缩数据库日志

Microsoft OLE DB Provider for SQL Server 错误 80040e14 数据库 mis1 的日志已满。请备份该数据库的事务日志以释放一些日志空间。 使用了一个简单的方...
  • faintbear
  • faintbear
  • 2005年02月06日 17:14
  • 30549

SQL SERVER 2014事务日志不能收缩的解决办法

问题,使用了SQL SERVER 2014的内存数据库,事务日志暴增,收缩后文件大小没有发生变化。使用网上的分离后删除日志文件的办法后,无法重新附加数据库。 解决办法: 使用 DBCC SHRIN...
  • tangfengray
  • tangfengray
  • 2015年12月09日 10:30
  • 2174
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据库日志无法收缩
举报原因:
原因补充:

(最多只允许输入30个字)