如何截断 SQL Server 日志文件

如何截断 SQL Server 日志文件

我尝试缩小数据库日志文件,但它仍然很大。我的数据库是 200mb,日志是 30Gb USE [databasename]; BACKUP LOG [databasename] WITH TRUNCATE_ONLY; DBCC SHRINKFILE ('databasename_log', 1, TRUNCATEONLY);

没什么帮助。即使完全备份后

答案1

日志中可能存在未完成的事务。请执行数据库连接开放传输协议在日志上查看是否这样做。打开事务将阻止您缩小日志。

有一个这里有很好的博客文章它可以为您提供有关幕后发生情况的更多详细信息,并为您提供一些未记录但方便的 DBCC LOGINFO 命令的背景知识。

答案2

也许您有一个尚未完全提交的开放事务。在 SSMS 中使用活动监视器并查找具有开放事务的连接(应该有一个名为开放事务计数的列)。您可能需要忽略正在查询活动的事务。如果有开放连接,请调查它是什么或终止它。

相关内容