首页 / 知识
SQL Server sys.databases log_reuse_wait 问题
2023-04-17 00:25:00

SQL Server sys.databases log_reuse_wait question当我发现事务日志只会正确截断时,我正在调查 SQL Server 2005 事务日志的快速增长 - 如果 sys.databases "log_reuse_wait" 列设置为 0 - 意味着没有任何东西保留事务从重用现有空间中记录。 有一天,当我打算备份/截断一个日志文件时,我发现这个列在 tempdb 中有一个 4 或 ACTIVE_TRANSACTION。然后,我使用 DBCC OPENTRAN(\\'tempdb\\') 和来自 sysprocesses 的 open_tran 列检查了任何打开的事务。结果是我在系统中的任何地方都找不到活动交易。 log_reuse_wait 列中的设置是否准确?是否存在使用我上面描述的方法无法检测到的交易?我只是错过了一些明显的东西吗? 我仍然不知道为什么我在 sys.databases log_reuse_wait_desc 列中看到 ACTIVE_TRANSACTION - 当没有事务运行时,但我随后的经验表明 tempdb 的 log_reuse_wait 列更改的原因不是很很清楚,就我的目的而言,不是很相关。此外,我发现运行 DBCC OPENTRAN 或"从 sysprocess 中选择 open_tran"代码比在查找事务信息时使用以下语句提供的信息要少得多:
这里有 log_reuse_wait_desc 是如何工作的解释:
因此,在您的情况下,现在没有 ACTIVE TRANSACTION,但这是上次尝试截断日志的时候。 我对数据库日志文件的回答是完整的: 一旦您对数据库进行了完整备份,并且数据库未使用简单恢复模式,SQL Server 就会完整记录数据库上曾经执行的所有事务。这样做是为了在您丢失数据文件的灾难性故障事件中,您可以通过备份日志恢复到故障点,并且在恢复旧数据备份后,恢复日志以重播丢失的数据交易。 为防止这种情况累积,您必须备份事务日志。或者,您可以使用 BACKUP LOG 的 如果您不需要此功能,请将恢复模式设置为简单。 在此视频的参考链接中,有几个链接指向其他工具/参考,您可以使用这些链接来帮助解决此问题: 也就是说,log_reuse_wait 中的信息应该是准确的。您可能只是有一个您无法以某种方式发现的停滞或孤立的交易。 数据可能是准确的。您需要做的是定期备份事务日志。与其他建议相反,您不应在 2005 年使用 NO_TRUNCATE 选项,因为它会清除已提交事务的日志,但不会备份它们。 您应该做的是使用带有 NO_TRUNCATE 选项的 BACKUP LOG 语句来执行尾日志备份。您还应该全天应用常规事务日志。这应该有助于保持大小相当易于管理。 嗯,很棘手。难道是它自己对 sys.databases 的问题导致了 ACTIVE_TRANSACTION?但在这种情况下,它应该在 MASTER 而不是 TEMPDB。 |
最新内容
相关内容
linux设置日志命令行?
linux设置日志命令行?,异常,系统,实时,日志,管理,信息,对比,项目,名称,情况,Linux运维知识:从命令行如何查看Linux日志如下图所示,先cd到我们需linux定位日志命令?
linux定位日志命令?,系统,信息,对比,日志,位置,时间,名称,实时,文件,命令,linux系统日志文件的位置命令在 Linux 系统中,日志文件通常保存在 /vlinux收集日志的命令?
linux收集日志的命令?,系统,实时,信息,对比,日志,名称,时间,命令,文件,事件,如何实时查看linux下的日志tail 命令:可以实时查看文件的最后几行linux取日志的命令?
linux取日志的命令?,系统,信息,对比,日志,时间,实时,名称,命令,文件,事件,linux中怎样查看日志less /var/log/syslog 该命令会打开 /var/log/slinux重启日志命令?
linux重启日志命令?,系统,电脑,时间,情况,日志,信息,实时,官网,对比,标准,如何查看linux的重启记录,1、last命令可以用于显示用户登录情况。返linux日志拷贝命令?
linux日志拷贝命令?,系统,信息,下来,服务,位置,数据,文件,命令,日志,指令,Linux文件拷贝命令?1、linux系统使用cp命令即可将一个文件夹里面的命令查看linux日志?
命令查看linux日志?,系统,信息,电脑,最新,对比,日志,名称,官网,实时,异常,linux查看日志的命令是?具体怎么用less 命令:可以打开大文件,支持上下linux日志的命令行?
linux日志的命令行?,地址,系统,信息,对比,名称,实时,时间,日志,等级,下来,linux服务器中怎么查看日志内容第一步:点击“开始→控制面板→系统和linux命令清除日志?
linux命令清除日志?,系统,软件,信息,最新,首次,传播,情况,工具,日志,管理系统,linux删除日志文件的命令1、确认日志记录已删除。最后,您可以手linux日志命令查询?
linux日志命令查询?,系统,名称,信息,实时,电脑,对比,最新,日志,命令,环境,Linux系统日志怎么查看1、less /var/log/syslog 该命令会打开 /var/linux命令打印日志?
linux命令打印日志?,系统,信息,实时,对比,情况,日志,命令,位置,标准,数据,怎么导出linux系统日志.首先进入系统日志,所有服务的登录的文件或错linux追踪日志命令?
linux追踪日志命令?,系统,实时,信息,对比,日志,服务,名称,情况,命令,文件,如何实时查看linux下的日志tail 命令:可以实时查看文件的最后几行或