吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1866|回复: 0
收起左侧

[其他转载] MSSQL日志暴涨解决方法

[复制链接]
sgs2020 发表于 2020-11-25 20:25
1.1 第一步
use tempdb
go
CHECKPOINT
go
1.2 第二步
BACKUP   LOG     tempdb   WITH   NO_LOG  
go
1.3 第三步
--根据当前日志文件大小,依次减少目标大小,执行下面语句。
--例:如果templog 约有30G
DBCC shrinkfile(templog,29000)
go
DBCC shrinkfile(templog,26000)
go
1.4 最终
DBCC shrinkfile(templog,100)
go
--说明:tempdb日志暴涨一般是tempdb的中事务结束后,日志中对应的部分没有置为inactive,每次事务都要请求新的存储空间,所以日志占用空间暴涨。在正常情况下sqlserver自动会调用checkpoint,在事务结束的后日志会被置为inactive,被置为inactive部分的日志是可以被重复利用的,所以正常情况下日志不会太大。若sqlserver的自动调用checkpoint机制有问题,需要通过增加job方式来解决这个问题。
补充1:
若手工收缩日志后,过一段时间tempdb又出现暴涨情况,则需要建立tempdb收缩日志作业。
(1)在sqlserver 中新建一个任务,每15分钟执行一次,对应数据库选tempdb。
(2)任务脚本:
   use tempdb
   go
   CHECKPOINT
   go
   BACKUP   LOG     tempdb   WITH   NO_LOG  
   go
   DBCC shrinkfile(templog,100)
  go
补充2:
  在遇到tempdb库数据文件过大导致清除不掉的问题,可以通过下面语句来清除(测试其它方法均无效的情况下)。
  dbcc shrinkfile (tempdev, 10)
  go
  dbcc shrinkfile (templog, 10)
  go

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 23:49

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表