暂无图片
sql server收缩日志的作业和记录,失败就是因为和备份冲突了吗?
我来答
分享
暂无图片 匿名用户
sql server收缩日志的作业和记录,失败就是因为和备份冲突了吗?

1.png
2.png

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
刘贵宾


可能延迟日志截断的因素

在日志记录长时间处于活动状态时,事务日志截断将延迟,事务日志可能填满,这一点我们在本主题(很长)前面提到过。

 重要

若要了解如何响应完整的事务日志,请参阅排查"事务日志已满 (SQL Server错误 9002 ) 。

实际上,日志截断会由于多种原因发生延迟。 查询 sys.databases 目录视图的 log_reuse_wait 和 log_reuse_wait_desc 列,了解哪些因素(如果存在)阻止日志截断。 下表对这些列的值进行了说明。

log_reuse_wait 值log_reuse_wait_desc 值说明
0NOTHING当前有一个或多个可重复使用的虚拟日志文件 (VLF)
1CHECKPOINT自上次日志截断之后,尚未生成检查点,或者日志头尚未跨一个虚拟日志 (VLF) 文件移动。 (所有恢复模式)

这是日志截断延迟的常见原因。 有关详细信息,请参阅数据库检查点 (SQL Server)
2LOG_BACKUP在截断事务日志前,需要进行日志备份。 (仅限完整恢复模式或大容量日志恢复模式)

完成下一个日志备份后,一些日志空间可能变为可重复使用。
3ACTIVE_BACKUP_OR_RESTORE数据备份或还原正在进行(所有恢复模式)。

如果数据备份阻止了日志截断,则取消备份操作可能有助于解决备份直接导致的此问题。
4ACTIVE_TRANSACTION事务处于活动状态(所有恢复模式):

一个长时间运行的事务可能存在于日志备份的开头。 在这种情况下,可能需要进行另一个日志备份才能释放空间。 请注意,长时间运行的事务将阻止所有恢复模式下的日志截断,包括简单恢复模式,在该模式下事务日志一般在每个自动检查点截断。

延迟事务。 “延迟的事务 ”是有效的活动事务,因为某些资源不可用,其回滚受阻。 有关延迟事务的原因以及如何将它们从延迟状态中移开的信息,请参阅延迟事务 (SQL Server) 

长时间运行的事务也可能会填满 tempdb 的事务日志。 Tempdb 由用户事务隐式用于内部对象,例如用于排序的工作表、用于哈希的工作文件、游标工作表,以及行版本控制。 即使用户事务只包括读取数据(SELECT 查询),也可能会以用户事务的名义创建和使用内部对象, 然后就会填充 tempdb 事务日志。
5DATABASE_MIRRORING数据库镜像暂停,或者在高性能模式下,镜像数据库明显滞后于主体数据库。 (仅限完整恢复模式)

有关详细信息,请参阅数据库镜像 (SQL Server) 
6复制在事务复制过程中,与发布相关的事务仍未传递到分发数据库。 (仅限完整恢复模式)

有关事务复制的信息,请参阅 SQL Server Replication
7DATABASE_SNAPSHOT_CREATION正在创建数据库快照。 (所有恢复模式)

这是日志截断延迟的常见原因,通常也是主要原因。
8LOG_SCAN发生日志扫描。 (所有恢复模式)

这是日志截断延迟的常见原因,通常也是主要原因。
9AVAILABILITY_REPLICA可用性组的辅助副本正将此数据库的事务日志记录应用到相应的辅助数据库。 (完整恢复模式)

有关详细信息,请参阅可用性组Always On概述 (SQL Server) 
10-仅供内部使用
11-仅供内部使用
12-仅供内部使用
13OLDEST_PAGE如果将数据库配置为使用间接检查点,数据库中最早的页可能比检查点日志序列号 (LSN) 早。 在这种情况下,最早的页可以延迟日志截断。 (所有恢复模式)

有关间接检查点的信息,请参阅数据库检查点 (SQL Server) 
14OTHER_TRANSIENT当前未使用此值。
16XTP_CHECKPOINT需要执行内存中 OLTP 检查点。对于内存优化表,如果上次检查点后事务日志文件变得大于 1.5 GB(包括基于磁盘的表和内存优化表),则执行自动检查点
有关详细信息,请参阅表的检查点 Memory-Optimized操作 和 [优化表的日志记录和检查点In-Memory] ()


暂无图片 评论
暂无图片 有用 0
打赏 0
王运亮

是的,有可能。你可以查下当shirk操作失败时,sql server正在做什么操作,然后测试下。参考:
https://www.cnblogs.com/nzperfect/archive/2012/07/24/2606841.html

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
sqlserver2016升级补丁报错问题
回答 1
这个是AlwaysOn群集环境吧,可以做一些检查。打开群集管理器,看下能否正常连接群集,并检查各节点及资源是否正常在线;检查所有节点的如下服务是否开启;RemoteRegisty服务Cryptogra
sql server怎么清理慢日志?
回答 1
已采纳
你是指要清除dmexecquerystats等相关视图信息吗?执行DBCCFREEPROCCACHEDBCCFLUSHPROCINDB(dbid)也可以清除指定语句的缓存计划
sql server中,pb 使用 go 语法错误,怎么转变一下 ?
回答 1
已采纳
PB 好古老的开发工具了啊。go的作用主要是让批处理语句分阶段执行你这里是不需要go语句的。
SQL server 2014 怎么一次性导出多个查询结果?
回答 2
先把数据缓存到N张临时表,再用bcp生成N个csv文件,参考:https://www.cnblogs.com/hawking8su/p/14331942.html
16核虚拟机SqlServer只能用到8核,这是什么原因?如何设置?
回答 1
如果是自己的测试环境(生产/正式环境就算了),可以试试如下方法:原文链接:https://blog.csdn.net/yenange/article/details/50549937以下语句查看目前C
升级到 SP4 后 SQL Server 不能正常运行
回答 1
已采纳
这个以前遇到过。解决问题也是网搜的。跟着一步一步来。我贴一个给你。你照着做一下http://sqlarticles.com/articles/troubleshooting/howtorebuilds
sql server 数据库还原之后,C盘就满了,怎样还原才不会满?
回答 4
通常数据文件要单独放在另外一个磁盘上,空间要充足,备份盘空间也要足,也要分开。
如何建立本地的sql server数据库?
回答 3
可以看看这个,生成本地数据库生成和部署到本地数据库https://learn.microsoft.com/zhcn/sql/ssdt/howtobuildanddeploytoalocaldataba
怎么从postgreSQL数据库数据同步至sqlserver数据库?
回答 2
已采纳
各种同步软件收费的DSG、IIDR偷着用的 OGG开源的DataX、DBSyncerhttps://github.com/alibaba/DataXhttps://gitee.com/ghi
有对sql server熟悉的不,现在主流版本是哪个?
回答 1
已采纳
现在新安装的推荐2022,但是很多的公司还在使用201或者和2016,像我们公司,还在使用2014.你可以去官网看看版本更新的差异。