Microsoft SQL Server 2005 缩小日志文件的后果?

Microsoft SQL Server 2005 缩小日志文件的后果?

目前,SQL Server 2005 正在运行一个大小为 8.9GB 的数据库。日志文件大小为 20.1GB,并且 HDD 很快就会被填满。

现在我知道我可以缩小日志文件。但我找不到任何答案,不知道这样做的后果是什么。这是一个为生产环境应用程序提供数据的数据库,所以如果任何东西坏了,我们就会有问题。

我们每天都会对数据库进行备份。

所以基本上当我缩小日志文件时会发生什么,我不会丢失任何生产数据。但是当我运行查询时,我仍然觉得我正在破坏一些东西:

DBCC SHRINKFILE('<Logfile_name>', 1)
BACKUP LOG <Database_name> WITH TRUNCATE_ONLY
DBCC SHRINKFILE('<Logfile_name>', 1)
GO

答案1

日志不断增长,因为没有备份。您执行的完整数据库备份不算,他们不备份日志。你必须定期备份日志除了完整的数据库备份,否则它会继续增长。将每 30 分钟备份一次日志的作业添加到您的维护计划中。

或者,将数据库的恢复模型更改为 SIMPLE。

直到您备份日志或者更改恢复模式,它才会持续增长,而且会被标记为正在使用,不会缩小。

答案2

据我所知,事务日志是自上次备份以来发生的所有事情。因此,在允许您缩小它之前,您需要执行备份。由于听起来您没有真正的 DBA,我建议使用完整备份。

我的 DBA 每周运行一次日志收缩,作为一项预定的工作。

答案3

缩小日志文件后,实际上就是删除了已发生的事务。因此,如果数据库出现故障,需要从事务日志中恢复,则必须恢复备份日志文件,然后使用它开始数据检索。

相关内容