我有一个数据库,其TLOG已发展到4.5 GB。 的DB是完全恢复模式,我曾尝试加上 DBCC SHRINKFILE几个事务日志备份。 它不会缩小。 有没有人有任何想法?无法收缩事务日志,无论我做什么
存在具有状态= 2的几个交易,但在数据库中没有活动的事务。我想知道他们为什么仍然显示status = 2。
我有一个数据库,其TLOG已发展到4.5 GB。 的DB是完全恢复模式,我曾尝试加上 DBCC SHRINKFILE几个事务日志备份。 它不会缩小。 有没有人有任何想法?无法收缩事务日志,无论我做什么
存在具有状态= 2的几个交易,但在数据库中没有活动的事务。我想知道他们为什么仍然显示status = 2。
我们有一个工作与另一个链接服务器写入数据库。 这是做了一些巨大的删除。 我们对该作业进行了优化,并能够将日志文件成功缩减至100MB。
谢谢!
如果你没有在事务日志中的内容真正感兴趣,运行命令
BACKUP LOG dbname WITH NO_LOG
,然后再运行DBCC SHRINKFILE
编辑:没有意识到2008年已经删除了这些 - 我们只是切换到它。在2008年,您必须暂时将恢复模型设置为简单模式,然后运行DBCC SHRINKFILE,然后再次将恢复模型恢复为“完全”。 代码在这里:
http://www.uhleeka.com/blog/2009/08/sql-2008-shrink-log-file-size-with-no_lo/
你最有可能有下列之一:
还有一些其他的可能性还有,但是this kb article概括大多数/所有可能的原因,以及如何确定是否/何处/它们是什么,以及来自this kb article和this kb article一些额外良好的信息(这最后一个有点过时,但大多仍然适用)。
DBCC OPENTRAN
拿开交易最后,我会考虑安装/拆卸如果你真的卡住删除日志文件。然而,这仅仅是当你绝望......
注意:分离数据库,删除日志文件,然后尝试仅附加MDF并重建日志可能会使数据库处于不一致甚至损坏的状态。 – 2009-11-12 14:23:40
@Aaron:我知道,但OP似乎坚定不移... – gbn 2009-11-12 15:49:26
如果SQL,则需要对数据库进行完全备份,然后备份事务日志,然后收缩数据库。出于某种原因,它希望在截断日志之前拥有完整备份。您可能能够脱离差异,但看看第一部分是否有效。
不要在UI中使用DBCC SHRINKDATABASE或缩小数据库选项。如果您需要缩小单个文件,则显式使用DBCC SHRINKFILE会更好。请参阅Tibor的网站:http://www.karaszi.com/SQLServer/info_dont_shrink.asp另请参阅此处的链接和讨论:http://is.gd/4TnHZ – 2009-11-12 14:23:06
jeeeeeeeeeeeeeeeee! – JohnIdol 2009-11-12 00:47:12
我为大日志转储道歉。 – sharadov 2009-11-12 00:55:24
请删除转储,因为我无法编辑您的帖子。 – Middletone 2009-11-12 06:36:11