导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

请问sql server 2000的维护计划中的日志备份会截断日志文件吗?

风之子009 浪子编程  2007-12-04 12:04:24


我建立了一个维护计划,每天临晨3:00做一次日志备份,可是
日志文件还是每天不断的增大,难道2000的维护计划中的日志备份
不会截断日志文件?

根据miscrosoft的帮助说:
日志截断在下列情况下发生:

执行完 BACKUP LOG 语句时。

在每次处理检查点时(如果数据库使用的是简单恢复模式)。这包括
CHECKPOINT 语句所产生的显式检查点和系统生成的隐式检查点。
例外情况是如果检查点发生在 BACKU P 语句仍活动时,则不截断日志。
有关自动检查点间隔的更多信息,请参见检查点和日志的活动部分。

我在自己本地的测试
1. 开始时 数据库的日志文件为74.9m, 利用dbcc sqlperf(logspace)查看, 日志文件的使用率为 89%
2. 然后我利用维护计划对日志进行了一次日志备份,此时 日志文件的使用率为 14%
3. 对数据库进行大量的insert, update,delete操作,数据库的日志文件仍然为74.9m,日志文件的使用率为 34%
这个例子是否表示, 维护计划中的日志备份会截断日志?
但是如果是这样,那为什么生产库的日志文件不断增大呢,它的维护计划和我本地的是一摸一样的啊
...全文
94 点赞 收藏 6
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
招RD和QA 2007-12-06
mark
回复
中国风 2007-12-06
在备份时加上NO_LOG | TRUNCATE_ONLY

BACKUP LOG db TO DISK='c:\db_log.bak' WITH FORMAT,TRUNCATE_ONLY--截断日志
回复
gzlzj 2007-12-06
ddddddddddd
回复
w2jc 2007-12-04
备份日志只是回收了日志文件上的逻辑空间,新的日志可以接着写在原来的日志文件上,
比如你100M的日志文件,备份日志之后还是100M,但是可以接着用。

如果你要回收物理空间,就是收缩日志文件,比如从100M收缩到10M。
但是在生产环境里面,或者比较忙的系统里面,只要你的磁盘空间是够的,就不要轻易去缩小日志空间,
如果日志没有足够的磁盘空间,还是会自动扩大的,引起更多的磁盘I/O,更慢。

如果你实在要收缩日志文件大小,使用 DBCC SHRINKFILE,看联机文档详细说明。

回复
kk19840210 2007-12-04
收缩日志
回复
kk19840210 2007-12-04
截断日志只是把逻辑空间释放,并不缩小日志文件的物理大小
要想缩小日志文件的物理大小就要用 搜索日志来实现
回复
发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告