30-04)在完整或是差异备份时,不允许进行日志备份 错误,在SQL Server 2005之后,完整或是差异备份的同时可以进行日志备份,详情请看:Search Engine QA #16: Concurrent log and full backups。
30-05)完整或差异备份会清除日志 不,因为日志备份包含了自上次日志备份以来所有的日志,这点无可改变,即使这期间的日志被完整或是差异备份所备份。我在Twitter上曾经有一个有名的文章阐述了这点:Misconceptions around the log and log backups: how to convince yourself。总之,在完整或大容量事务日志恢复模式下,只有备份日志才会清除日志。
30-17)日志备份所占的大小会和日志所占的大小一致 错误。日志中包含了需要回滚活动事务的日志。DBCC SQLPERF (LOGSPACE)所体现出来的日志空间使用并不能正确反映出日志条目所占的空间。Search Engine QA #25: Why isn't my log backup the same size as my log?。此外,需要备份的日志部分往往是自上次日志备份以来所有的日志。如果日志大于自上次日志备份以来所有的日志,说明还有长时间活动未结束的事务。
30-25)备份数据需要关闭SQL Server 这个,我真不知道这个谣言从哪来的。(编辑:显然从Oracle来的,因为我们都知道和SQL Server比起来Oracle要强很多:-)。
30-26)正在执行的事务只要在备份完成之前提交就一定会包含在这个备份中 错误,只有在备份的数据读取阶段完成之前提交并写入磁盘的事务才会包含在备份之。详情请看:Search Engine QA #6: Using fn_dblog to tell if a transaction is contained in a backup。
30-27)在备份之前收缩数据库可以减少备份的大小 错误,收缩仅仅是移动页,并不会引起备份大小的改变。详情请看:Conference Questions Pot-Pourri #10: Shrinking the database before taking a backup。除此之外,还有一篇博文:SQL Server误区30日谈-Day9-数据库文件收缩不会影响性能。不但如此,还有人提醒我说,如果在完整备份之后进行了数据库收缩,则即使数据没有改变,下一次差异备份也会变得巨大。