维护建议--数据库备份

经常会听到有人问"错误删除数据怎么办?",得到的回答一般都是"有备份么?有就还原备份,没有就准备简历",这看似笑话,却反应了数据库备份的重要性。

以下是本人积攒的以下备份相关建议,供新人学习和老鸟批斗:

  1. 定期进行数据备份(完备或差异备份)和日志备份。
  2. 使用压缩备份来减少磁盘空间占用和提高备份效率。
  3. 定期检查磁盘剩余空间和备份文件增长情况,以确保有足够空间进行下一次备份。
  4. 使用校验和(CHECKSUM)来检查数据完整性。
  5. 使用RESTORE VERIFYONLY来验证备份可用性。
  6. 根据数据变动情况决定完整备份和差异备份的频率。
  7. 根据日志生成速度来决定日志备份的频率。
  8. 优先使用脚本来备份数据库。
  9. 如果使用维护计划备份,请确认是否需要生成“报告和记录”。
  10. 定期检查日志文件大小和VLF数量。
  11. 定期清理msdb数据库中备份和还原记录。
  12. 在磁盘空间充足条件下,应在本地保留一份最新备份(最后一次完备及之后备份文件)。
  13. 定期复制数据库备份至其他服务器,并定期检查异地备份。
  14. 在备用服务器上还原数据库以测试备份可用性,并运行DBCC CHECKDB来检查数据完整性。
  15. 定期归档历史数据,条件允许情况下,应将历史数据归档到专门存放历史记录的数据库。
  16. 除有特殊需求修改数据库恢复模式外,应保证数据库运行在完整恢复模式下。
  17. 当数据库从简单恢复模式切换到完整恢复模式下,应立即完整备份或差异备份来修复断裂的日志链。
  18. 当数据库从大日志恢复模式切换到完整恢复模式下,应立即日志备份,以保证此后可按照时间点还原。
  19. 在做任何可能存在风险的操作前,请确保先确保备份有效。
  20. 维护一个列表,记录数据库进行备份的频率、路径以及异地备份的路径等信息,以便故障时能第一时间找到备份。

 --===================================================================

关于数据库备份,很多公司或伪DBA对数据库备份的相关知识了解不足,存在很多误区,也因此有了很多差异饭后的谈资(某某公司的数据库挂啦,丢失好几天数据,哇哈哈)。

以下罗列一些错误的操作,以博君一笑:
1. 周期性做日志收缩操作,却没有定期日志备份(做下日志备份会死吗?)
2. 数据库运行太慢,切换到简单恢复模式貌似快了很多(谁说的简单恢复模式快的?)
3. 在数个月前做过完整备份,然后一直只做日志备份(这不是很悲催哈,顶多还原慢点嘛)
4. 不小心把仅有的完备给删除掉了,空有一堆日志备份(菊花残,满地伤啊)
5. 只管日志备份,而不测试备份可用性(很多人中枪没,等还原时才发现备份文件有问题,瞬间知道刷简历的重要性)
6. 没有异地备份或不检查异地备份(书到用时方很少啊,只有故障时才知道备份好啊)
7. 按照"国际标准"来做备份测量,不考虑数据变化情况(比如一周一次完备,每天一次差异备,然后周而就发现差异备和完备差不多大了,WHO care?)
8. 要做索引维护,偷偷摸摸把恢复模式修改为简单,却悲催地发现这期间有人误操作(RP问题,不解释)

--====================================================================

备份相关:

宋大师的误区三十问之备份:http://www.cnblogs.com/CareySon/archive/2013/02/20/2918238.html

MSDN之备份基础:http://technet.microsoft.com/zh-cn/LIBRARY/ms187048.aspx

日志查看软件1:Log Explorer for SQL Server

日志查看软件2:ApexSQL Log

未完待续。。。

--====================================================================

关于备份的一些知识和脚本,我不得不推荐下这个变态DBA:听风吹雨,请猛戳。

听风桑,你备份这么风骚,你媳妇知道么?

--====================================================================

妹子骚猴就来

原文地址:https://www.cnblogs.com/TeyGao/p/3640657.html