关于server 2008中的事务日志备份,我有一个问题。我目前每周(星期日)进行一次完全备份,并每天备份事务日志。周日,我在folder1中放置了完全备份,然后在周一,我还将第一个事务日志备份放在同一个文件夹中。周二,在进行第二个事务日志备份之前,我将第一个事务日志备份从folder1和folder2中移动,然后进行第二个事务日志备份,并将其放入folder1中。韦德,瑟斯,等等也是一样。在folder1中,我总是有最新的完全备份和最新的事务日志备份,而其他事务日志备份都在folder2中。我的问题是,当sql server即将进行第4(周四)事务日志备份时,它是否查找以前的transac日志备份(第1、第2和第3次),这样这个新备份将只包括来自上一次备份的事务,或者它有一些其他方式来知道是否有其他的transac日志备份。基本上,我是这样问的,因为我所有的事务日志备份似乎都差不多大小,而且我认为它们的大小将取决于自上次事务日志备份以来的事务数量。
示例:如果您有一个,例如,完全备份,然后您进行一个transac日志备份,而这个transac日志备份是允许200 MB的,现在您立即进行另一个transac日志备份,这个最后的传输日志备份应该比第一个要小得多,因为这两个备份之间没有或几乎没有事务发生,对吗?至少,这就是我一直在假设的。在我的例子中发生的是,第二个备份与第一个备份的大小差不多,我想知道原因是否是因为我将第一个事务日志备份移到了另一个文件夹,所以现在sql server认为我所拥有的只是一个完全备份,然后它获取了自完全备份后发生的所有事务,并将其放入第二个transac日志备份中。
有人能解释一下我的假设是否正确吗?谢谢..。
发布于 2010-05-25 23:10:45
克里斯和乔克沃蒂,谢谢你们的回答。我理解差异备份和日志备份之间的区别,但我想我没有清楚地表达自己。我一直认为日志备份包含上一次日志备份(或第一次日志备份时的完全备份)之后的所有事务,您刚刚确认了这一点,所以我想我就在那里了。让我失望的是,我今天早上进行了日志备份,然后今天下午又进行了另一次(计划外)日志备份,而这2次备份的大小基本相同,尽管db上不应该有太多的活动(尽管我可能错了)。因此,基本上,我担心通过将旧的日志备份文件移动到不同的文件夹中,我会“迫使”SQL Server获取自完整备份(实际上是差异备份)以来的所有事务(因为这是第一个日志备份)。所以,我想只要SQL server在内部跟踪这些信息,并且我可以在周围移动文件--我很好。再次感谢..。
发布于 2010-05-25 22:28:48
我认为您混淆了事务日志备份和差异。
SQL日志备份是上一次日志备份以来的更改。要进行还原,您需要完整的备份加上完整的日志备份链,否则就不能恢复到某个时间点。SQL在内部跟踪所有内容,所以如果您四处移动文件并不重要。关键是需要完整的备份加上所有日志备份的完整链。
另一方面,diff备份将包括自上次完全备份以来的所有更改,而不管您在此期间所做的任何其他diff或日志备份。
如果您的流量是一致的,那么您的日志备份可以达到大约相同的大小,因为它们平均每个日志中的事务量是相同的。
不用说..。但我还是会说的..。通过尝试一些测试恢复来频繁地测试您的备份--这是最好的方法来找出您的策略是否有漏洞。
发布于 2010-05-25 22:44:53
当SQL server执行任何后续备份时,它不会注意硬盘上的备份文件。它在内部跟踪数据库日志文件中的所有内容。
是的(一般来说)事务日志备份的大小将在一定程度上取决于自上次日志备份以来发生了多少活动,但可能有一个最小的大小。
但是,每周的充实和每天的日志备份是一种不寻常的计划。如果你真的需要实时恢复的话,更常见的是每周的数据和每天的差异,加上每小时的日志备份。在斯宾塞的链接上+1。
https://serverfault.com/questions/145276
复制相似问题