使用TRUNCATE_ONLY替代BACKUP LOG

时间:2008-11-07 14:37:59

标签: sql-server sql-server-2005 sql-server-2000

这篇T-SQL于2005年被弃用:

BACKUP LOG [DB_NAME] WITH TRUNCATE_ONLY

我不需要为我的数据库保留备份日志 - 但如果我们将来移植到SQL2008或后续版本,我不希望这段代码停止工作。

干杯

4 个答案:

答案 0 :(得分:6)

将数据库恢复模式切换为SIMPLE,然后使用DBCC SHRINKFILE。然后恢复原始恢复模式。如果您的LOG文件没有缩小,则可能有未提交的事务。有关详细信息,请参阅Tibor的Karaszi关于shrinking的文章。

答案 1 :(得分:1)

如果您将数据库的恢复模型更改为Simple,我认为它将停止强制您备份/截断日志。

答案 2 :(得分:1)

更改数据库以使用简单恢复模型。这意味着您没有时间点恢复(如果您截断日志,则无论如何都不会这样),但日志文件会自动循环并且不会变得太大。

日志文件是强制性的,你没有选择,只能保留它,你不想要的是让它失去控制并填满你的磁盘。

答案 3 :(得分:0)

正如Andy Jones回答的那样,日志文件是强制性的。它不仅仅是为了您自己的事件日志,而是数据库处理事务回滚以及内存提交的重要部分。