5

没有理由,我丢失了数据库中的所有数据。幸运的是,这只是测试数据,但这让我想到如果使用生产数据库完成会发生什么。

最终,每个开发人员都遇到了数据库问题并想要回滚数据库。我们不会做任何事情来保护数据库,因为我们认为这是一项 DBA 工作,但后来我们遇到了麻烦......

您的备份最佳实践是什么?

4

3 回答 3

3

由于所有开发人员也是我工作的 DBA,因此我们也共同负责我们的备份策略 - 如果您关心数据,请确保您至少了解备份的工作原理,即使您是不是实际决策的一部分。

我做的第一件事(在我设置任何数据库之前)是设置包括完整备份的夜间维护计划,并将这些备份定向到另一台计算机(我们的 NAS)上的中央网络共享。至少,出于对工作的热爱,不要将备份放在数据库文件所在的同一物理存储上。如果在丢失磁盘的同时丢失备份有什么好处?

我们不做时间点恢复,所以我们不做日志备份(我们所有的数据库都设置为简单恢复模式),但是如果你想备份日志,确保你也包括这些,作为可接受的间隔也是如此。

附带说明一下,SQL 2008 支持压缩备份,这大大加快了备份时间并使文件变得非常小——我想不出你不想使用这个选项的实例。不过,我很想听听,我愿意重新考虑!

于 2010-02-02T04:12:41.497 回答
1

以下是我自己的一些经验:

  • 将备份和 SQL Server 数据库文件存储在不同的物理存储上。否则,如果您的物理存储出现故障,您将丢失备份和数据库文件。
  • 创建您自己的 SQL Server 数据库备份计划。
  • 测试您的 SQL Server 备份。如果您从未测试过您的备份,我怀疑如果发生故障您将能够恢复您的数据库。有时您需要练习在测试服务器上恢复备份。
  • 测试您的恢复策略 - 这是另一个提示。如果发生故障,您需要多长时间才能将数据库恢复到工作状态?
  • 备份 SQL Server 的系统数据库。

这不是一个完整的列表,您可以在我的文章中找到更多提示https://sqlbak.com/blog/backup-and-recovery-best-practices/

于 2016-09-09T13:40:22.563 回答
0

选择正确的备份策略是 DBA 在开发数据库时应考虑的最重要因素之一。

但是,您选择的备份策略取决于许多因素:

  1. 在数据库上执行事务的频率如何:每分钟有数千个事务进行还是每天可能有几个事务?对于非常繁忙的数据库,我会说,每 10 分钟或更短时间进行一次完整的夜间备份和事务日志备份。
  2. 数据内容有多重要:可能是员工工资数据吗?那么你将没有任何可以接受的借口,或者当你想开车回家时,你的车周围可能会有几张生气的脸!对于非常关键的数据库,可能在两个位置进行夜间备份,每 5 分钟备份一次事务日志。(也考虑实现镜像)。
  3. 备份位置的位置:如果您的备份位置靠近 DB 位置,那么您可以承受比它位于几跳之外且之间带宽不高的情况下更频繁的备份。

但总的来说,我会说,每晚安排一次备份,然后每隔一段时间备份一次事务日志。

于 2014-11-19T07:49:00.963 回答