SQL日志报错磁盘空间不足 但日志实际大小 从各个方面看都不大

Geek 2017-07-20 09:01:39
技术牛人们 辛苦了帮忙 给解决下
1每天的这个时候都会报错



2日志设置 不限制增长

3这个是硬盘空间 还有20G

4查询后数据库日志 的大小 但是这个 一会儿多 一会儿少

5日志文件 现在只有50M的样子


见鬼了 不知道 有人遇到过 这种情况嘛
...全文
444 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
Geek 2017-07-24
  • 打赏
  • 举报
回复
好的 谢谢老师 订阅跟镜像 应该没有
引用 20 楼 yenange 的回复:
那就晚上运行吧。 有没有做复制订阅、镜像之类的?
吉普赛的歌 2017-07-24
  • 打赏
  • 举报
回复
那就晚上运行吧。 有没有做复制订阅、镜像之类的?
Geek 2017-07-24
  • 打赏
  • 举报
回复
老师 数据库是 2008 的SP2 还没打补丁,版本的问题? Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86) Jul 9 2008 14:43:34 Copyright (c) 1988-2008 Microsoft Corporation Enterprise Edition on Windows NT 5.2 <X86> (Build 3790: Service Pack 2) (VM) 网站正在运行 白天可能忙点 运行 DBCC CHECKDB 会影响 正常使用吗 谢谢老师
引用 18 楼 yenange 的回复:
此外, 你的数据库的版本是多少?
SELECT @@VERSION
有没有做复制订阅、镜像之类的?
吉普赛的歌 2017-07-24
  • 打赏
  • 举报
回复
此外, 你的数据库的版本是多少?
SELECT @@VERSION
有没有做复制订阅、镜像之类的?
吉普赛的歌 2017-07-24
  • 打赏
  • 举报
回复
DBCC CHECKDB('实际的数据库名')
执行看下有没有错误吧
Geek 2017-07-24
  • 打赏
  • 举报
回复
老师辛苦了 分别执行了 您给的指令 分别截图了 您看下
1日志实用情况,总是在变,有时候大 有时候小

2日志的消息 status 都为0

3日志无法重用的原因 状态4

4最早的 事务日志 查询后 没有结果








引用 15 楼 yenange 的回复:
--提供有关所有数据库中的事务日志空间使用情况的统计信息。  
dbcc sqlperf(logspace)
--日志信息
DBCC loginfo() --Status=2则为活动
--日志无法重用的原因
select name, recovery_model_desc,log_reuse_wait,log_reuse_wait_desc from sys.databases d
--最早的活动事务
DBCC OPENTRAN () --括号内加上数据库名称,如果选定为当前库可以为空


loginfo是看日志是不是处于活动状态, 不是让你看哪个大哪个小。

最早的活动事务贴出来看看。

多贴一些反应你实际情况的截图或文本。
吉普赛的歌 2017-07-22
  • 打赏
  • 举报
回复
--提供有关所有数据库中的事务日志空间使用情况的统计信息。  
dbcc sqlperf(logspace)  
--日志信息  
DBCC loginfo()  --Status=2则为活动  
--日志无法重用的原因  
select name, recovery_model_desc,log_reuse_wait,log_reuse_wait_desc from sys.databases d  
--最早的活动事务  
DBCC OPENTRAN ()  --括号内加上数据库名称,如果选定为当前库可以为空  
loginfo是看日志是不是处于活动状态, 不是让你看哪个大哪个小。 最早的活动事务贴出来看看。 多贴一些反应你实际情况的截图或文本。
Geek 2017-07-22
  • 打赏
  • 举报
回复
老师 DBCC LOGINFO() 发现一共 6个虚拟日志文件 其中两个特别大 shrink 一下就可以了嘛 ?备份下数据库 日志 直接收缩就OK了?
引用 13 楼 yenange 的回复:
http://blog.csdn.net/yenange/article/details/51619534 供你参考
吉普赛的歌 2017-07-21
  • 打赏
  • 举报
回复
Geek 2017-07-21
  • 打赏
  • 举报
回复
老师 网站 数据库 显示 这个




事务延迟 KILL掉 延迟的事务 kill 掉 等待时间 太长的进程?

USE DATABASENAME
GO
SELECT *
FROM SYS.PROCESS





引用 11 楼 yenange 的回复:
SELECT d.name,d.log_reuse_wait,d.log_reuse_wait_desc 
FROM sys.databases AS d
WHERE d.name NOT IN ('master','tempdb','model','msdb')

看下这个
吉普赛的歌 2017-07-21
  • 打赏
  • 举报
回复
SELECT d.name,d.log_reuse_wait,d.log_reuse_wait_desc 
FROM sys.databases AS d
WHERE d.name NOT IN ('master','tempdb','model','msdb')
看下这个
Geek 2017-07-21
  • 打赏
  • 举报
回复
老师好 ,目前 数据库 是在简单模式下进行的
引用 8 楼 yenange 的回复:
如果你不是什么重要应用, 建议不要用完整模式, 很难维护的了
Geek 2017-07-21
  • 打赏
  • 举报
回复
老师看下 是不是这俩 就是做的索引维护 第一个作业

declare @Now DateTime
Begin

select @Now = Getdate() - 0.2

EXEC SP_TASK_STAT @Now

END
第二个作业

declare @Now DateTime
Begin

EXEC SP_TEMP_CLEAR;

select @Now = Getdate() -1.2

EXEC SP_TASK_STAT @Now

select @Now = Getdate() -2.2

EXEC SP_TASK_STAT @Now

select @Now = Getdate() -3.2

EXEC SP_TASK_STAT @Now

END
引用 6 楼 kyupis 的回复:
有没有进行索引维护
吉普赛的歌 2017-07-21
  • 打赏
  • 举报
回复
如果你不是什么重要应用, 建议不要用完整模式, 很难维护的了
Geek 2017-07-21
  • 打赏
  • 举报
回复
您好 老师 能不能说的再详细点 刚学SQL 不是特别专业 谢谢了老师
引用 5 楼 beck464771647 的回复:
15分钟做一次日志备份,截断日志,每天做一次日志文件收缩。在做个作业监控磁盘空间
中国风 2017-07-20
  • 打赏
  • 举报
回复
没做日志备份且没空间时把数据库模式改为简单模式,每天做完整备份 需要日志备份时只备份每天日志备份步骤,当前完整模式--》完整备份--》日志备份--》简单模式—收缩数据库--》改回完整模式
xiaoxiangqing 2017-07-20
  • 打赏
  • 举报
回复
是不是有多个文件分别建在不同的分驱上面
kyupis 2017-07-20
  • 打赏
  • 举报
回复
有没有进行索引维护
足球不是方的 2017-07-20
  • 打赏
  • 举报
回复
15分钟做一次日志备份,截断日志,每天做一次日志文件收缩。在做个作业监控磁盘空间
Geek 2017-07-20
  • 打赏
  • 举报
回复
引用 2 楼 roy_88 的回复:
没做日志备份且没空间时把数据库模式改为简单模式,每天做完整备份 需要日志备份时只备份每天日志备份步骤,当前完整模式--》完整备份--》日志备份--》简单模式—收缩数据库--》改回完整模式
版主 现在就是简单模式 ~空间都够 就是报错 每周末 自动恢复数据库 日志暴增 网站打不开 重启几遍服务器之后又可以了
加载更多回复(1)

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧