我在寻找SQL Server日志文件的一些清晰度。我有一个较大的数据库(2 2GB),最近由于任何原因都没有备份。数据库的日志文件增长到大约11 is,据我所知,这是数据库中发生的所有事务和语句。
我的问题:
刷新数据库日志文件的原因是什么?“同花顺”到底是什么意思?对大型日志文件执行文件收缩或数据库收缩的后果是什么?
发布于 2009-01-17 21:57:30
备份事务日志后,这些事务将从日志中截断,但操作使用的空间不会自动恢复。如果您正在进行定期事务日志备份,这可能是一件好事。假设正在用于事务的空间将在将来再次被需要。持续收缩事务日志可能会对性能造成不良影响,因为当再次需要时,数据库将需要扩展日志。
因此,要解决您的问题,请首先执行完整备份和事务日志备份。您不需要转到简单模式或单用户模式。然后收缩数据库并每隔几个小时设置一次事务日志备份。在我的服务器上,我每10分钟做一次,但这完全取决于他们的环境需要多长时间一次。监视日志大小的变化,确保留出足够的空间,使其不必定期扩展,再加上一点额外的乐趣。
当您收缩数据库时,请使用DBCC SHRINKFILE而不是DBCC SHRINKDATABASE,因为后者将收缩整个数据库,而不仅仅是日志文件。此外,您无法控制要回收的空间大小。
发布于 2009-01-17 19:39:00
备份通常会清除事务日志。事务日志保留自上次备份以来的所有更改。根据备份数据库的方式,您可能根本不需要保留完整的事务日志。如果您使用的是MS SQL2000/MS SQL2005,则将恢复模式设置为Simple会删除事务日志。
一旦您确定您有一个干净的数据库副本(没有丢失的风险),就可以安全地删除事务日志。有一些SQL命令可以做到这一点,但我通常会将恢复模式更改为完整的,然后收缩数据库,然后在必要时将恢复模式设置回Full。
如果您需要更多信息,请包括您正在使用的SQL版本以及如何执行备份,我将查看是否可以详细说明您的特定设置。
发布于 2009-01-17 20:20:39
实际上,我不相信备份数据库会缩小日志,备份事务日志本身会缩小日志。SQL Server对这两者进行了区分。
通常,我会使所有数据库“简单”恢复,或者使备份事务日志成为我的定期维护计划的一部分(通常是一周一次)。
https://stackoverflow.com/questions/453858
复制相似问题