相关疑难解决方法(0)

多次备份后,SQL Server 日志文件使用百分比不会下降

SQL Server 2005

我运行了“dbcc SQLPerf(logspace)”,然后进行了两次日志备份,然后再次运行“dbcc SQLPerf(logspace)”。尽管“dbcc opentran (foo)”表示没有活动的打开事务,但与使用的 48.55% 相比没有变化。

这是否意味着存在阻止日志可用空间在备份后更改的非活动打开事务?

谢谢。

sql-server-2005 transaction-log

6
推荐指数
2
解决办法
1883
查看次数

如何识别导致事务日志增长的事务?

我有一个 20 GB 的数据库,它的事务日志坚持超过 7 GB。

当我使用此脚本找出该数据库中最大对象的大小时,我发现它们相对较小。

在此输入图像描述

我一直在使用默认跟踪来查看此事务日志何时自动增长,但我没有发现。

DECLARE @path NVARCHAR(260);

SELECT 
   @path = REVERSE(SUBSTRING(REVERSE([path]), 
   CHARINDEX(CHAR(92), REVERSE([path])), 260)) + N'log.trc'
FROM    sys.traces
WHERE   is_default = 1;

SELECT 
   DatabaseName,
   [FileName],
   SPID,
   Duration,
   StartTime,
   EndTime
FROM sys.fn_trace_gettable(@path, DEFAULT)
WHERE EventClass = 93 -- log autogrow event
ORDER BY StartTime DESC;
Run Code Online (Sandbox Code Playgroud)

我还尝试了这里的一些脚本,以检查哪些事务正在填充日志,但找不到任何事务。

我相信一定有一些非常长的事务同时进行,或者至少有一个较长的事务正在执行。

我怎样才能检查这些(long transactions in the database)?

在 LIVE 中,这是一个完整恢复模式数据库,是alwayson 的一部分。在 TEST 中,这是一个简单的恢复模式数据库,但由于所有作业都在那里,日志仍然增长到 7GB。

sql-server optimization transaction transaction-log sql-server-2016

5
推荐指数
1
解决办法
2515
查看次数