我有适当的工作来修剪用于历史记录和日志记录的表,以保持它们的修剪。我想确保我不会忽略日志文件。
我如何以及应该做什么来检查日志文件?
我每晚运行的 sql 脚本是:
declare @DBname varchar(500)
set @DBname = 'E:\Database\backup\PMIS_backup_'+ convert(varchar(MAX), getdate(), 23 ) +'.bak'
BACKUP DATABASE [PMIS] TO DISK = @DBname
WITH NOFORMAT, NOINIT, NAME = @DBname
, SKIP, REWIND, NOUNLOAD, STATS = 10
(恢复模式很简单)
如果您的数据库处于 FULL 或 BULK_LOGGED 恢复模式,您需要定期备份数据库和日志文件。如果您的数据库处于 SIMPLE 恢复模式,那么您只需要定期备份您的数据库。
请阅读以下文章以获取更多信息:
不确定问题是备份策略还是日志文件大小之一。
Eric 解释了备份模式。
如果您担心日志文件的大小,您还可以将日志文件设置为自动增长。SQL SERVER 将允许您按百分比或设定的兆字节数自动增长日志文件。如果您的日志文件的增长空间量有限,您还可以设置绝对大小限制。
如果你走这条路,你很可能希望将日志文件缩小为日常维护程序的一部分。
使用简单的恢复模式,我认为您不需要对日志文件做很多事情。在简单模式下,SQL Server 不应将事务持久保存在日志文件中很长时间。
我知道在 oracle 中,一旦引擎到达文件末尾并且事务被设置为不再需要,日志文件就会被覆盖。我不确定 SQL Server 是否遵循相同的方法,或者是否在事务处理完成或检查点事件发生后立即清除日志文件。
我认为,如果您正在为这种状态下的日志文件寻找最佳大小(并且如果您有一定的测试灵活性),我会将日志文件设置为自动增长几 mb,并将初始大小设置得非常低。然后让它运行一两次迭代并注意大小。