我的工作是整理用于历史记录的表格,并进行日志记录以保持其整洁。我想确保我不会忽视日志文件。
如何以及我应该做些什么来控制日志文件?
我在夜间计划中运行的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数据库处于简单恢复模式。
发布于 2011-03-01 19:25:06
如果数据库处于简单恢复模式,并且日志文件没有逐渐变大,那么我就不用担心它了。如果有任何类型的维护计划定期进行大量的重新索引,那么很可能就需要这么大的维护计划。
如果日志文件确实变大了,您会想知道原因。您可以运行DBCC (LOGSPACE)来查看日志文件中使用了多少日志文件--如果日志文件始终很高,那么请检查master.sys.databases中的master.sys.databases列,以了解为什么它没有像预期的那样重用空间。如果使用率很低,那么可能有一些一次性的事务做了大量的工作,导致日志文件增长。如果这是一个经常发生的事务,那么反复缩小和增长日志文件只会损害性能,所以不管大小如何,都可以提供舒适的工作空间。另一方面,如果日志文件的大小是数据文件的许多倍,那么这可能是不必要的。
发布于 2011-03-01 16:58:52
您正在进行事务日志备份吗?每次成功时,SQL都会从日志中清除不活动的事务,这本身可能会使事务日志文件大小可管理。
发布于 2011-03-01 17:36:00
在执行日志文件的备份之后,需要收缩日志文件。
每次从表中删除记录时,都要从数据文件中删除teh数据,但是该操作会被记录在日志文件中(因此有名称;-)。
当数据库配置为完全恢复模型时,日志文件也会被无休止地追加,直到备份为止。有关更多信息,请访问MSDN:事务日志物理架构。
另外,如果您没有执行常规的事务日志备份(大概是因为您不需要时间点恢复),那么应该考虑使用一个简单的恢复模型。当然,您应该先备份和收缩日志文件,然后将数据库的恢复模型更改为simple。
https://serverfault.com/questions/241800
复制相似问题