我的数据库表日志文件很大。表本身就像60 MB,但日志文件就像2GB。有没有办法阻止此日志文件增加,如暂停它或其他东西。我知道我在桌子上写了很多东西,所以日志很大。另外,当我查看数据库的大小时,大小就像2.9gb,因为它包含了日志文件。
有没有办法可以说停止写入日志文件以管理系统中的空间?我是否应该考虑停止日志写作?这是个好主意吗?
答案 0 :(得分:9)
你不能完全停止日志写作,即使你可以,也不应该。您可以做的是确定您是否希望能够恢复到某个时间点。如果这对您很重要,那么您应该保持完全恢复模式并开始运行常规事务日志备份。
如果时间点恢复对您不重要,那么您可以切换到简单的恢复模式:
ALTER DATABASE dbname SET RECOVERY SIMPLE;
一旦你有(a)执行完全备份和至少一个日志备份或(b)切换到简单恢复模型,你应该能够将日志文件缩减回合理的东西(没有真正的好处)在没有更多信息的情况下回答什么是“合理的”):
USE dbname;
GO
DBCC SHRINKFILE(dbname_log, 100); -- 100 MB
答案 1 :(得分:1)
事务日志是SQL Server的基础部分 - 没有它就无法工作。
如果这是开发机器(非生产!),您可以将恢复模式设置为简单: ALTER DATABASE MyDB SET RECOVERY SIMPLE;
或者,请查看使用DBCC SHRINKFILE定期缩小文件。