SQL Server大型日志文件

时间:2012-08-21 23:38:41

标签: sql-server sql-server-2008 sql-server-2012

我的数据库表日志文件很大。表本身就像60 MB,但日志文件就像2GB。有没有办法阻止此日志文件增加,如暂停它或其他东西。我知道我在桌子上写了很多东西,所以日志很大。另外,当我查看数据库的大小时,大小就像2.9gb,因为它包含了日志文件。

有没有办法可以说停止写入日志文件以管理系统中的空间?我是否应该考虑停止日志写作?这是个好主意吗?

2 个答案:

答案 0 :(得分:9)

你不能完全停止日志写作,即使你可以,也不应该。您可以做的是确定您是否希望能够恢复到某个时间点。如果这对您很重要,那么您应该保持完全恢复模式并开始运行常规事务日志备份。

如果时间点恢复对您不重要,那么您可以切换到简单的恢复模式:

ALTER DATABASE dbname SET RECOVERY SIMPLE;

一旦你有(a)执行完全备份和至少一个日志备份或(b)切换到简单恢复模型,你应该能够将日志文件缩减回合理的东西(没有真正的好处)在没有更多信息的情况下回答什么是“合理的”):

USE dbname;
GO
DBCC SHRINKFILE(dbname_log, 100); -- 100 MB

This question on Database Administators也很有用。

答案 1 :(得分:1)

事务日志是SQL Server的基础部分 - 没有它就无法工作。

如果这是开发机器(非生产!),您可以将恢复模式设置为简单:     ALTER DATABASE MyDB SET RECOVERY SIMPLE;

或者,请查看使用DBCC SHRINKFILE定期缩小文件。

相关问题