当前位置:  开发笔记 > 数据库 > 正文

SQL Server sys.databases log_reuse_wait问题

如何解决《SQLServersys.databaseslog_reuse_wait问题》经验,为你挑选了1个好方法。

当我发现事务日志只能正确截断时 - 我正在调查SQL Server 2005事务日志的快速增长 - 如果sys.databases"log_reuse_wait"列设置为0 - 这意味着什么都不会阻止事务日志重用现有空间.

有一天,当我打算备份/截断日志文件时,我发现此列在tempdb中有一个4或ACTIVE_TRANSACTION.然后,我使用DBCC OPENTRAN('tempdb')和sysprocesses中的open_tran列检查任何打开的事务.结果是我在系统中的任何地方都找不到活动事务.

log_reuse_wait列中的设置是否准确?是否存在使用上述方法无法检测到的交易?我只是缺少一些明显的东西吗?



1> Clinemi..:

我仍然不知道为什么我在sys.databases log_reuse_wait_desc列中看到ACTIVE_TRANSACTION - 当没有事务正在运行时,但我的后续经验表明tempdb的log_reuse_wait列由于不太清楚的原因而更改,并且我的目的,不是很相关.此外,我发现在查找事务信息时,运行DBCC OPENTRAN或"从sysprocess中选择open_tran"代码的信息要少于使用以下语句:

select * from sys.dm_tran_active_transactions

select * from sys.dm_tran_session_transactions 

select * from sys.dm_tran_locks

推荐阅读
保佑欣疼你的芯疼
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有