【问题标题】:Database size bigger after delete from table从表中删除后数据库大小变大
【发布时间】:2012-06-02 19:19:10
【问题描述】:

在我从 SQL Server 数据库表中删除大量数据后,数据库大小增加了。

当我运行 sp_spaceused 时,它显示了 2625.25 MB。在我从表中删除之前,它曾经是 ~ 1800.00 MB。

即使我删除了数据,它还有什么特别的原因吗?

【问题讨论】:

  • 我不知道 tsql 但它可能只是一个临时事务日志。
  • 就是这个原因,我删除临时文件后就OK了。谢谢! stackoverflow.com/questions/56628/…
  • 我将其设为社区 wiki 答案(没有代表指向我;)

标签: sql-server tsql size


【解决方案1】:

临时事务日志通常是在大量删除后显着增加大小的原因。

它最终会自行消失,但如果您需要回收空间,您可以删除文件。

【讨论】:

    【解决方案2】:

    我假设您使用的是 SQL Server (sp_spaceused)。删除已记录,因此您的日志文件已增长。

    请参阅SQL Server 2008 log will not truncate 了解如何截断您的日志(取决于您的数据库和恢复模式),然后您就可以运行

    DBCC SHRINKFILE(N)
    

    回收丢失的空间

    编辑根据@Aaron,截断也是一个记录操作。答案已更正。

    【讨论】:

    • TRUNCATE 也被记录。人们从哪里得知 TRUNCATE 没有被记录的这些神话?
    • @Aaron 感谢您指出这一点。我相信我知道我在哪里发现了这种误解——SQL 2000 和以前的命令“BACKUP LOG DB WITH TRUNCATE_ONLY”可能将我(和其他人的)突触融合为将“截断”与绕过日志记录相关联。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-28
    • 2018-11-21
    • 1970-01-01
    • 2013-05-16
    • 2013-10-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多