进行还原时是否尾日志备份?


9

通常,在将数据库从生产服务器还原到非生产服务器时,我将使用WITH REPLACE选项,就像我忘记了有关未备份尾日志的错误时一样。

根据MSDN,在恢复之前,我确实应该备份我的尾日志:

如果数据库处于联机状态,并且您打算对数据库执行还原操作,请先备份日志尾部。为避免在线数据库出错,必须使用BACKUP Transact-SQL语句的…WITH NORECOVERY选项。

我这样做的方式有哪些危险或不利之处?为什么备份尾部日志对我来说是最有利的?

我正在使用SQL Server 2008R2,但我假设此查询与SQL Server的大多数较新版本相关,因此最初并未对其进行标记。


6
我认为这意味着如果您要在同一位置还原(并可能应用其他事务日志)。如果您只想在其他地方恢复数据库的简单副本,而又不需要维护日志链,那么我会使用您正在使用的方法。我什至可以WITH COPY_ONLY在备份上使用。
亚伦·伯特兰

Answers:


4

如果不备份日志尾部,则将丢失自上次备份数据库以来发生的所有事务。


1
是的,我明白这一点。但是即使如此,我仍然认为您的回答使我弥合了我的思想鸿沟。看到非生产数据库永远不会备份,因此无论如何我都会丢失整个数据库,所以为什么还要关心尾日志。但是MSDN认为我总是备份数据库,唯一现在没有备份的是尾日志,因此他们希望我对其进行备份。对于我一个没人关心的瞬态非生产数据库的特定场景,因此备份尾日志没有任何好处。
保罗

2
完全正确。如果您只是想将数据带到非生产环境中,而不是真的在意其中的内容,那么根本没有问题。
JoseTeixeira
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.