0

我的 ASPState.LDF 文件现在超过 17GB,其中一些数据已经很旧了。有没有办法删除所有旧数据?

仍在学习 SQL 数据库管理,而且我是使用 ASPState 的新手。

4

2 回答 2

1

考虑将ASPState数据库恢复模式更改为SIMPLE. ASPState仅用于ASP.NET仅在 Web 会话生命周期内有效的临时会话对象。FULL对这个特殊用途的数据库使用恢复模型没有任何价值。

在 SIMPLE 恢复模型中,已提交的事务会自动从日志中删除。之后您可以使用 减少物理日志文件DBCC SHRINKFILE

于 2014-08-07T02:17:16.950 回答
0

LDF 文件是数据库的日志文件。如果您的数据库处于完全恢复模式,则除非备份日志,否则日志不会自行覆盖。因此,如果您需要完全恢复,这将允许您恢复到数据库中的某个时间点,那么您应该设置一个维护作业以每 15 分钟左右备份一次日志文件。

这将停止日志增长,一旦完成,您可以在日志上运行收缩文件以减小到正常大小并允许它增长到正常大小。您不想一直缩小它,因为自动增长的成本很高,但一次性事件很好。

如果您不需要时间点恢复,请将数据库恢复模式更改为简单。

如果这些都不适用于您的情况,请开始查看您的代码。您可能有非常大的事务导致日志文件过大。但是,如果这是用于 Web 应用程序的数据库,则前者可能适用。

于 2014-08-06T18:18:45.060 回答