SQL Server中的LDF文件是什么?

时间:2009-05-05 20:30:45

标签: sql-server

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

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

5 个答案:

答案 0 :(得分:43)

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

  1. 如果您的企业可以承受在备份之间丢失一些数据,只需将数据库恢复模式设置为SIMPLE,然后忘记LDF - 它会很小。对于大多数情况,这是推荐的解决方案。
  2. 如果您必须能够恢复到确切的时间点 - 请使用完全恢复模式。在这种情况下,您必须定期进行事务日志备份。最简单的方法是使用像SqlBackupAndFTP这样的工具(披露 - 我是开发人员)。此时日志文件将被截断,并且不会超出某些限制。
  3. 有些人会建议使用SHRINKFILE修剪你的日志。请注意,这仅作为例外。如果你经常这样做,它就会失去FULL恢复模式的目的:首先你要记住保存日志中的每一个变化,然后你就转储它。将恢复模式设置为SIMPLE。

答案 1 :(得分:34)

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

答案 2 :(得分:9)

LDF是事务日志。它保留了对数据库所做的所有操作的记录,以便进行回滚。

您不想删除,但可以使用dbcc shrinkfile命令缩小它。您也可以右键单击SQL Server Management Studio中的数据库,然后转到任务>收缩。

答案 3 :(得分:3)

ldf保存db的日志,当然不保存任何实际数据,但对于数据库的正常功能非常重要。

但是,您可以将日志模型更改为数据库以简化,以便此日志不会增长得太快。

例如,检查this

检查here以供参考。

答案 4 :(得分:1)

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