坦率地说,我没有时间去测试一个有趣的场景,我会喜欢一些专家的见解。我有一个关于事务日志的问题,以及它们可能用于恢复(或者任何事情)。假设您使用VSS获取应用程序一致的卷快照,这些卷保存数据库的.mdf和.ldf文件(存储数组驱动)。我要问的问题是:
考虑到只有VSS快照是可用的(时间点),我想知道在数据库完全恢复方面是否有任何用处(假设有一种方法来截断事务日志)。因此,设置是:数据库处于完全恢复状态-> VSS快照数据库->截断事务日志。如果我要挂载数据库的克隆,日志中的事务对我有什么用处吗?
发布于 2016-10-27 20:02:06
我会“建议”VSS快照“大部分”是为了一个彻底的灾难恢复场景。据我理解,VSS快照允许您恢复到快照时间。在快照之前没有时间,在快照之后也没有时间(直到下一个快照)。
当由于用户错误而发生意外删除时,您打算做什么?在您的VSS快照被拍摄并服务器死掉或磁盘崩溃后10分钟会发生什么。在VSS快照10分钟后出现的损坏怎么办?
使数据库处于完全恢复模式并及时进行事务日志备份(甚至到分钟)有很大的好处。
老实说,这可以归结到您的公司RPO (恢复点目标)和RTO (恢复时间目标)。你是真正能决定这些事情的人吗?
发布于 2016-10-27 22:21:32
无论您如何进行备份,RTO和RPO的通常规则仍然适用,并且应该是备份策略的主要驱动程序。要回答你的问题:如果你的RPO是10分钟,除非你每10分钟做一次完整的备份(我希望不是这样),你仍然需要数据库的完全恢复,并且每10分钟进行一次日志备份。事务日志对于SQL服务器是有用的,除非您对它们进行备份,否则它们对您没有任何用处。
对于真正的应用程序感知的VSS快照,日志也将被备份和截断,并将适当的事件记录在msdb中。这是通过SQL (虚拟设备接口)完成的,大多数第三方备份工具都使用这个接口。这是专为与第三方备份工具接口而设计的。
查看用于Veritas备份的Server管理指南。它解释了它如何深入地工作:https://www.veritas.com/support/en_美国/文章.8593
基于存储( SAN )的快照是完全不同的,您不会得到".bak“文件,因为这些文件位于块级,因此SQL不知道SAN快照。为了保持完整性,.mdf和.ldf必须在同一个一致性组中,但是每个供应商在这种方法上略有不同。
请记住,对于基于VSS的备份,提供程序将冻结IO,以便将数据刷新到磁盘,但随后的备份文件是从快照写入的。
关于这一问题的一些更有用的资源:
https://blogs.msdn.microsoft.com/psssql/2009/03/03/how-it-works-sql-server-vdi-vss-backup-resources/
https://support.microsoft.com/en-gb/kb/919023
我希望这能帮到你。
https://dba.stackexchange.com/questions/153514
复制相似问题