gpt4 book ai didi

sql-server - SQL Server sys.databases log_reuse_wait 问题

转载 作者:太空狗 更新时间:2023-10-30 01:44:53 24 4
gpt4 key购买 nike

我在调查 SQL Server 2005 事务日志的快速增长时发现事务日志只会正确截断 - 如果 sys.databases 的“log_reuse_wait”列设置为 0 - 意味着没有任何东西阻止事务日志从重新利用现有空间。

有一天,当我打算备份/截断一个日志文件时,我发现这个列有一个 4,或者在 tempdb 中正在进行 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 或“select open_tran from sysprocess”代码在查找交易信息时比使用以下语句提供的信息要少得多:

select * from sys.dm_tran_active_transactions

select * from sys.dm_tran_session_transactions

select * from sys.dm_tran_locks

关于sql-server - SQL Server sys.databases log_reuse_wait 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/90360/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com