【问题标题】:What is the LDF file in SQL Server?SQL Server 中的 LDF 文件是什么?
【发布时间】:2009-05-05 20:30:45
【问题描述】:

什么是 SQL Server 中的 LDF 文件?它的目的是什么?

我可以安全地删除它吗?或减小其大小,因为有时它比数据库文件 mdf 大 10 倍。

【问题讨论】:

    标签: sql-server


    【解决方案1】:

    LDF 保存事务日志。如果您正确设置备份 - 它会很小。它会增长 - 您有一个非常常见的问题,即将数据库恢复模式设置为 FULL,然后忘记备份事务日志(LDF 文件)。让我解释一下如何解决它。

    1. 如果您的企业能够承受在备份之间丢失少量数据,只需将数据库恢复模式设置为 SIMPLE,然后忘记 LDF - 它会很小。这是大多数情况下的推荐解决方案。
    2. 如果您必须能够恢复到确切的时间点 - 使用完整恢复模式。在这种情况下,您必须定期备份事务日志。最简单的方法是使用SqlBackupAndFTP 之类的工具(披露——我是一名开发人员)。日志文件此时将被截断,并且不会超出特定限制。

    有些人会建议使用 SHRINKFILE 来修剪您的日志。请注意,这仅作为例外是可以的。如果你经常这样做,它会破坏完整恢复模型的目的:首先你会遇到麻烦保存日志中的每一个更改,然后你只是转储它。改为将恢复模式设置为 SIMPLE。

    【讨论】:

    • 只是好奇:在备份期间,如果正在执行事务会发生什么?一个进程正在备份文件,而另一个进程正忙于写入文件?
    • 我从未听说过这是个问题。我找不到关于它是如何具体实施的参考资料。
    • 什么样的企业可以承受丢失数据?
    【解决方案2】:

    LDF 文件保存数据库事务日志。例如,请参阅http://www.databasedesign-resource.com/sql-server-transaction-log.html 以获取完整说明。有办法缩小事务文件;例如,请参阅http://support.microsoft.com/kb/873235

    【讨论】:

      【解决方案3】:

      LDF 是事务日志。它会记录对数据库所做的一切以用于回滚。

      您不想删除,但可以使用dbcc shrinkfile 命令将其缩小。您也可以在 SQL Server Management Studio 中右键单击数据库,然后转到 Tasks > Shrink。

      【讨论】:

        【解决方案4】:

        ldf保存db的日志,当然不会保存任何真实的数据,但是对于数据库的正常运行非常重要。

        但是,您可以将数据库的日志模型更改为简单,这样该日志就不会增长太快。

        this 为例。

        查看here 以供参考。

        【讨论】:

        • 如果您不进行单独的数据和事务日志备份,日志文件将无限增长,除非您将备份设置为简单模式。然后,您可以通过缩小日志文件来恢复磁盘空间。
        【解决方案5】:

        LDF 代表“日志数据库文件”,它是事务日志。它会记录对数据库所做的一切以用于回滚目的,即使您丢失了 .msf 文件,您也可以恢复数据库,因为它包含所有控制信息和事务信息。

        【讨论】:

        • 其他答案中没有的新答案是什么?
        猜你喜欢
        • 2010-12-21
        • 1970-01-01
        • 1970-01-01
        • 2011-08-13
        • 1970-01-01
        • 2017-09-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多