sqlserver日志自动增长问题记录

sqlserver日志自动增长问题记录

异常信息

Autogrow of file '数据库日志文件名' in database '数据库' was cancelled by user or timed out after 10062 milliseconds.  Use ALTER DATABASE to set a smaller FILEGROWTH value for this file or to explicitly set a new file size.

检查数据库日志文件,发现日志文件大小四十多G,数据日志文件自动增长模式为10%来增长  相当于一次性增长4个多G

sqlserver数据库日志文件自动扩容时需要做很多的事情,非常消耗性能,因此再扩容期间;对于数据库的操作就都会被延迟等等;等到文件扩容结束才能恢复正常

解决方案

    1.先对现有数据库日志文件进行清理;采用压缩方式将日志数据清理掉

    2.修改日志文件自动增长方式;不要按照百分比进行增长,根据自己数据库文件大小增长情况合理设置 ;一般设置一次增长再100—200M;

附sqlserver2008日志清理方法

USE [master]

GO
--查询 日志信息可以看到status=0的日志,代表已经备份到磁盘的日志文件;而status=2的日志还没有备份。当收缩日志文件时,收缩掉的空间其实就是 status=0的空间,
--如果日志物理文件无法减小,这里一定能看到非常多status=2的记录。
DBCC LOGINFO('数据库文件名')

--清楚status=2的记录。
sp_removedbreplication '数据库文件名'

--收缩之前一定要情况status=2的记录,否则无法收缩成功
--开始收缩
ALTER DATABASE [数据库文件名] SET RECOVERY SIMPLE WITH NO_WAIT

GO

ALTER DATABASE [数据库文件名] SET RECOVERY SIMPLE

GO

 

USE [数据库文件名]

GO

DBCC SHRINKFILE(N'日志文件名' , 11, TRUNCATEONLY)

GO



USE [master]


GO

ALTER DATABASE [数据库文件名] SET RECOVERY FULL WITH NO_WAIT

GO

ALTER DATABASE [数据库文件名] SET RECOVERY FULL --还原为完全模式

GO

--收缩结束

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值