我正在寻找有关SQLServer日志文件的一些信息。我有一个大型数据库(2GB),最近由于任何原因都没有进行备份。数据库的日志文件增长到11GB左右,据我了解,这是数据库中发生的所有事务和语句。
我的问题:
是什么导致数据库日志文件被刷新?“冲洗”实际上是什么意思?在大型日志文件上执行文件压缩或数据库压缩有什么后果?
备份事务日志后,这些事务将从日志中被截断,但是该操作使用的空间不会自动恢复。如果您要进行常规的事务日志备份,这可能是一件好事。假设该空间用于交易,并且将来会再次需要。连续缩小事务日志可能会降低性能,因为再次需要时,数据库将需要扩展日志。
因此,要解决您的问题,请首先执行完整备份和事务日志备份。您无需进入“简单”模式或单用户。然后收缩数据库,每隔几个小时设置一次事务日志备份。在我的服务器上,我每10分钟执行一次,但这完全取决于一个人对其环境的需求频率。监视日志大小如何变化,请确保留出足够的空间,以使其不必定期扩展,外加一些额外的乐趣。
收缩数据库时,请使用DBCC SHRINKFILE而不是DBCCSHRINKDATABASE,因为后者将收缩整个数据库,而不仅仅是收缩日志文件。同样,您对要恢复的空间没有太多控制。