我是一名程序员,作为一名非自愿的DBA担任副业。
我有一个维护计划,每晚都会进行完整备份和“检查数据库完整性”。我每10分钟备份一次事务日志。数据库备份后事务日志备份大小达到峰值 - 指数级更大。我曾经每晚重建索引和统计数据 - 我认为这是导致事务日志峰值的原因 - 但删除这些步骤并没有改变任何东西。
如果没有这么大的峰值,那么在慢速连接上镜像我们的备份会有很大的帮助 - 所以我希望这是我做错了。任何人都可以提出任何建议吗?
答案 0 :(得分:2)
这是SQL 2000吗?
在SQL 2000中,您不应该在执行完整备份时运行日志备份,或者“可能发生坏事”,例如阻塞或大量膨胀的日志文件。
请参阅this ServerFault post来自“The Man”的“The Word”,Paul Randal,他曾经在微软负责SQL引擎。
有关在执行完整备份时跳过日志备份的一些想法,请参阅this follow-up post。
在SQL 2005或更高版本中,此限制不再存在,并且您不应该同时运行日志备份和完整备份。
答案 1 :(得分:2)
如果您仅从早上6点到午夜运行日志备份,那么早上6点的第一个日志备份将备份自上次日志备份以来6小时内发生的所有数据库活动
这是完全正常的,可能与您的数据库备份发生在凌晨4点无关。
由于您使用的是SQL2008,我的其他答案中的警告不适用,您应该可以24小时运行日志备份。
答案 2 :(得分:1)
在完整备份运行时,事务备份将不会运行。那么你的完整备份需要多长时间?在此期间,事务日志备份不会截断事务日志。