没有理由,我丢失了数据库中的所有数据。幸运的是,这只是测试数据,但这让我想到如果使用生产数据库完成会发生什么。
最终,每个开发人员都遇到了数据库问题并想要回滚数据库。我们不会做任何事情来保护数据库,因为我们认为这是一项 DBA 工作,但后来我们遇到了麻烦......
您的备份最佳实践是什么?
没有理由,我丢失了数据库中的所有数据。幸运的是,这只是测试数据,但这让我想到如果使用生产数据库完成会发生什么。
最终,每个开发人员都遇到了数据库问题并想要回滚数据库。我们不会做任何事情来保护数据库,因为我们认为这是一项 DBA 工作,但后来我们遇到了麻烦......
您的备份最佳实践是什么?
由于所有开发人员也是我工作的 DBA,因此我们也共同负责我们的备份策略 - 如果您关心数据,请确保您至少了解备份的工作原理,即使您是不是实际决策的一部分。
我做的第一件事(在我设置任何数据库之前)是设置包括完整备份的夜间维护计划,并将这些备份定向到另一台计算机(我们的 NAS)上的中央网络共享。至少,出于对工作的热爱,不要将备份放在数据库文件所在的同一物理存储上。如果在丢失磁盘的同时丢失备份有什么好处?
我们不做时间点恢复,所以我们不做日志备份(我们所有的数据库都设置为简单恢复模式),但是如果你想备份日志,确保你也包括这些,作为可接受的间隔也是如此。
附带说明一下,SQL 2008 支持压缩备份,这大大加快了备份时间并使文件变得非常小——我想不出你不想使用这个选项的实例。不过,我很想听听,我愿意重新考虑!
以下是我自己的一些经验:
这不是一个完整的列表,您可以在我的文章中找到更多提示https://sqlbak.com/blog/backup-and-recovery-best-practices/
选择正确的备份策略是 DBA 在开发数据库时应考虑的最重要因素之一。
但是,您选择的备份策略取决于许多因素:
但总的来说,我会说,每晚安排一次备份,然后每隔一段时间备份一次事务日志。