我正在学习SQL Server备份/恢复选项。不是在课堂上或任何事情上,而是因为我最近意识到,摆在我面前的这个人非常低效地设置了它。例如,full备份一天运行一次,事务备份每小时运行一次。所有这些都是通过工作完成的,而不是维护计划。在研究如何改善我工作的环境时,我学到了很多东西,但也陷入了一些困境。我希望确认我认识的内容,并澄清我还没有完全掌握的内容。提前致谢!有关SQL Server备份/恢复的澄清要点
据我所知,完整备份就是这样 - 数据库文件中的每一个位的完整备份,包括事务日志,直到备份开始。差异备份是同样的事情,但仅包含自上次执行完整或差异备份以来所做的更改。这些通常每天运行一次左右,而完整备份一周运行一次左右。
第一个问题:系统如何知道上次备份发生的时间?数据库中的标志?它是否打开并查看备份目标文件?它是否在内部设置,只要备份运行并且不会失败?
事务备份让我困惑了一下。我知道这种类型备份从最后一次完整/差异备份到当前时刻的事务日志,但是什么是“尾部日志”?我在文档中看到它被引用,据我所知,它只是从最近一次备份到“现在”的事务日志。如果我的db在备份七分钟后失败,我会有一个七分钟的尾部日志担心,对吧?
如果我要恢复失败的数据库,我该怎么做?假设星期二下午3:41失败。我的完整备份在上周二凌晨2:00运行,我的差异在凌晨5:00运行失败,而我的事务备份每15分钟运行一次,所以我在星期二的凌晨3点30分有良好的数据。我的备份全部进入本地服务器进行存储,称之为\备份。因此,我的文件位于\ backups \ sql \ full,\ backups \ sql \ differential和\ backups \ sql \ transaction_logs中。
- 文件夹结构是组织备份的最佳方式吗?有没有更好或更标准的方法,还是没有关系?
- 鉴于这一切,我该如何恢复我的数据库?我已经完全恢复,但从来没有其他两个。我在Server 2012上使用SSMS。
- 如果我要使用这些备份将我的数据库移动到新的服务器,该怎么办?恢复过程是否相同?
- 有关我如何更改此设置以获得更好的任何其他建议?
我对第二个问题的猜测是首先将失败的数据库脱机,然后恢复完全备份,就像我以前所做的那样。我接下来再次执行恢复,但是这次请从差异备份中选择文件。最后,我要重复一次,这次使用事务备份恢复到3:30。我会失去十一分钟的数据,但我认为我没有选择。或者我可以从事务备份开始,看看它能否正确恢复,而“完全恢复”的想法最适合移动数据库?
还有什么我应该知道的自动备份我们所有的数据库?有些非常大,我们需要确保我们有尽可能稳定的备份计划。我非常感谢任何人对此有任何意见。
谢谢,这很有帮助。我不认为你可以从损坏的数据库中获取尾部日志。我还会看看您提供的用于备份解决方案的链接;只是一个快速脱脂让我觉得这将是一个巨大的帮助。另外,它是免费的,所以不必谈论我的老板进行购买。 :) – AH16
也许你可以对损坏的数据库进行尾部日志备份,也许你不能。但是如果日志文件完好无损,它应该会很好,这会使数据丢失得更少。但尝试便宜! –
一个后续问题。如果我使用标准维护计划,新备份将如何取代旧备份?也就是说,本周的完整备份是否会覆盖上周的全部备份文件?差异备份如何不会变得很大?有没有一种方法可以让我保留以前的三个完整备份,以防服务器因新备份正在进行而失败? – AH16