数据库备份过程中经常遇到的九种情况
第一种情况:
如果有RAID,还需要做数据库备份吗?
回答:是的。有了RAID,如果某些磁盘损坏,数据库可以修复,在某些情况下,数据库甚至可以继续使用。但是如果有一天,你的同事不小心删除了一条重要的记录呢?突袭是无力的。您需要一个适当的备份策略来恢复误删除的数据。所以有了RAID,还是需要做备份集群,磁盘镜像也是一样。
第二种情况:
我们需要完整备份+日志备份?
回答:如果只做完全备份,因为完全备份的大小和时间,不可能经常做。而且只有完全备份,数据库无法恢复到某个时间点。所以,我们需要完整备份+日志备份。例如,每天进行一次完整备份,每隔一小时或几分钟进行一次日志备份。说到差异备份,由于微软的差异备份记录了自上次完整备份以来发生的变化,如果数据库变化频繁,用不了多久差异备份就接近完整备份的大小了,所以这种情况是不合适的。因此,完整备份加日志备份的方案适用于大多数用户。
第三种情况:
如果只在本地备份数据库,如果磁盘损坏,或者整个服务器硬件损坏,备份就没有了,数据库也无法恢复。
答:因此,您需要将备份文件转移到另一个物理硬件上。大部分用户不使用磁带机,所以不考虑。一般我们需要另外一台便宜的服务器或者PC来存储数据库的备份,防止备份因为硬件损坏而丢失。
第四种情况:
可以在数据库服务器本地完成备份,然后通过某种方式将备份文件发送到备用机器。备份完成后有没有马上戴上?其实可以考虑用T-SQL语句来写发送备份的脚本。
第五种情况:
备份文件送到备用机后,能高枕无忧吗?
回答:不能,作为一个DBA,还需要检查备用机上的备份文件是否能把数据库恢复到最新。如果采用日志备份,会不会因为某个日志备份文件丢失而导致数据库无法恢复到最新?如何检查日志备份文件之间的破损文件?
第六种情况:
为了尽可能将数据库恢复到最新状态,您可以每10分钟(甚至1分钟)执行一次日志备份。那么,万一数据库坏了,在恢复时手动恢复数百个日志文件是否不现实?
第七种情况:
如果你的公司有很多数据库服务器(比如我的),磁盘空的数量有限,那么你就要经常登录服务器删除旧的备份文件。如果哪天忘了,或者五一假期用完了磁盘空,那就麻烦了。
第八种情况:
备份数据库时,不会检查数据页的完整性。如果数据页损坏,备份作业仍会执行,并且不会报告错误。当您发现数据页中有错误时,您可能因为磁盘不足空而删除了较早的备份。此时,其余备份可能都包含损坏的数据页。如果损坏的数据页是一个表的标题,那么这个表将被保存。因此,您需要定期执行DBCC检查,以尽早发现数据库页面的完整性。您不能在DBCC检查之前删除旧备份,以防止新备份出现问题。所以删除备份文件的工作就变得有点麻烦了。
第九种情况:
您可能知道SQL Server提供了数据库维护计划。是的,它可以用于进行定期备份和执行DBCC检查,但所有这些都仅限于本地操作。为了使数据库可靠,您仍然需要自己将本地备份发送到备用计算机。
位律师回复
0条评论