SQL备份与IT常规夜间服务器备份有何不同?


9

我们的IT部门每晚都会备份整个服务器(此服务器上安装了一个SQL Server实例),如果出现问题,该服务器应该备份该服务器以及整个网络。

因此,经理问我的完整,差异和日志SQL备份与IT部门备份的备份相比有什么重要意义?为了节省我们服务器上的更多空间,而不是将这些文件保留几个星期并删除它们,她认为IT会提供它们!

我知道这是不对的,因为我可以使用日志备份恢复到最近30分钟,IT会在第二天恢复它,但这是唯一的区别吗?

由于我将数据库备份文件保存/发送到同一服务器上,因此IT部门将还原它们,但是如果我的维护计划中没有这些备份作业,则IT部门可以还原SQL实例而无需任何表,事务...等。我说对了吗?
任何建议将不胜感激。

Answers:


8

数据库备份为您提供时间点还原功能(前提是您具有FULL恢复模型)。即使您的IT人员每隔几分钟进行一次备份(这是极不可能的),您仍然会有差距。

服务器备份不能代替数据库备份,而是通过长期(即不仅仅是今天)“归档”数据库备份文件来补充它们。

最后,您和您的管理人员必须决定您的RPO(恢复点目标-在崩溃中能够恢复的数量)。仅具有每日服务器备份而无数据库备份,在最坏的情况下,您将失去一整天的工作。

编辑:@Sting有一个有效的观点,即卷影副本(最有可能用于进行服务器备份的机制)不太可能完全同时复制所有数据库文件(包括日志文件),这可能导致不一致的情况。您还原备份。例如,如果卷影副本在读取数据库文件之前几毫秒读取了事务日志,则数据库文件可能包含未提交的事务,但是由于该事务在一毫秒后提交,因此日志中将没有任何记录。


谢谢Daniel,是的,我们有完整的恢复模型,IT在晚上7点运行每晚的服务器备份,我在晚上6点运行数据库的FULL备份,在工作时间每天每30分钟还有每小时的差异备份和日志备份...所以如果我正确地理解了您的信息,IT可以从7:pm服务器备份文件为我提供所需的还原,但由于它们之间不会互相替换并且彼此不同,因此我还需要6pm数据库备份文件。
玛丽

2
将数据库备份运送到另一台服务器后,如果服务器崩溃,您将具有时间点还原功能,直到上次事务日志备份为止(无论服务器本身何时备份)。如果仅仅依靠服务器备份,则必须返回数据库在昨晚7 pm的状态
Daniel Hutmacher '16

1
我认为这是最好的答案。作为系统管理员,我正在使用服务器备份系统来解决作为整个基础结构一部分的一个或多个数据库服务器的灾难恢复问题。我们的数据库管理员使用SQL备份以更集中的方式解决数据库和事务问题。这并不是说任何一种备份都不能承担双重责任并解决另一种备份问题,但它们的重点确实有所不同……
Rob Moir

7

从卷影副本还原mdf和ldf文件的机会可能会在事务上不一致。这意味着,这些影子还原不符合数据库ACID属性。

https://msdn.microsoft.com/zh-CN/library/aa480356.aspx

还原可能会起作用,但您可能会想知道自己实际上得到了什么。(更不用说,您将承担测试任务,以确保每台服务器上的服务器备份/影子副本均正常工作。)此外,无法像使用SQL Server T一样将事务日志还原到某个时间点-SQL恢复日志/停止。

在Windows Server备份/还原符合SQL Server ACID测试之前,我们的行业无法承受任何机会。

说了这么多,我参加了一些最奇怪的会议。如果您将问题传达给IT部门,但他们似乎仍然不在乎,或者他们愿意承担风险,则可以减轻您的负担。无论发生什么情况,请记录每个人决定的会议记录以及每个人为什么决定的记录,并将其发送给会议参与者。


5
根据“系统备份”软件的工作方式以及任何数据库的数据/日志文件是否位于不同的驱动器上,此风险可能更高。卷影副本很棒,直到它们不匹配为止。
亚伦·伯特兰

Windows卷快照是否应该保持一致?
usr

@usr我不认为跨卷是正确的。
安迪

3

这完全取决于您的IT部门使用哪种产品进行服务器级备份。

例如,在虚拟环境中,VMWare将为服务器拍摄快照。如果涉及SQL Server,则VMWare具有大多数管理员启用的选项(或者默认情况下我不知道),该选项将在快照期间冻结数据库的IO。现在虽然只需几秒钟,您就有可能在您的应用程序上引起问题,并且它并不是还原数据库的可靠方法。

如果您使用第三方产品执行服务器级备份,则很可能是仅对数据库进行文件级备份。在这种情况下,它还必须具有备份已锁定文件的能力,因为SQL Server从Windows角度来看具有锁定的任何附加mdf和ldf文件。例如,Symantec的BackupExec利用Advanced Open File Option来执行此操作,因此它基本上可以为该锁定文件拍照。如果必须使用这样的备份来还原数据库,听起来的方式将使大多数DBA望而却步,请考虑一下数据库进行该备份时的一致性。如果在进行数据加载过程时触发了备份,则无法保证,该备份获得了数据加载的哪一部分?

SQL Server本机备份在被确认为良好备份方面值得信赖。您确切知道在为FULL执行备份时它们处于什么状态,无论是否围绕数据加载等进行了调度。FULL恢复模型的日志备份可确保您可以在第二秒内还原该数据库。

如果您的经理对使用服务器级备份一无所知,那么我会认真研究他们正在使用的产品。我将找出是否可以购买任何SQL Server“附加组件”或备份代理,以使其执行数据库的VDI备份。

如果SQL Server备份失败,您需要与管理者一起考虑和讨论的问题是您需要参与哪些验证和故障排除工作。我曾在以前的工作中大量使用Netbackup,几年前有一位客户希望我针对其环境对Netbackup的SQL Server代理进行测试使用。这包括必须也提供支持的其他DBA。我事先告诉他们,对SQL Server备份失败进行故障排除需要您对Netbackup有所了解。Netbackup主服务器通常在Unix服务器上运行,因此,您现在必须了解一些Unix ...可能很有趣,但是如果您已经很忙的话就更痛苦了。只是要考虑的事情,可以与您的经理进行很好的讨论,并找出由谁负责故障排除。


0

您的问题中只有不到一百万个变量。您将需要与您的IT部门讨论他们需要进行哪些备份。他们极有可能拥有或可以拥有最新的可用备份。它们加载这些文件需要多长时间取决于更多变量。

在理想情况下,您的IT部门会将备份保留在不同位置的一台或多台不同服务器上。您可能将备份保留在数据库所在的同一服务器上。因此,如果服务器死机或建筑物烧毁,您的IT部门可能可以还原文件,但是您备份的内容将随服务器一起消失。

但是只要您的服务器仍处于活动状态,您就可以随时根据需要恢复备份。

正如其他人所说,这取决于您的需求,对风险的承受能力以及控制恢复时间的重要性。如果您想从所做的愚蠢事情中恢复,则备份将变得更快更好。如果您想从无法控制的灾难中恢复,则IT备份(应该是)是更好的选择。

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.