数据库备份


2

我有10GB的RDBMS(SQL Server)。我想尽可能多地支持它,但似乎我需要很大的空间才能使这种情况每天发生几次。

备份这个数据库的频率是多少?备份通常如何存储?

我看了一下Amazon S3,想知道人们使用这样的服务做数据库备份有多普遍?

  0

我同意Thoreau,但是既然你说过你想尽可能多的备份,你可能想要更频繁地进行增量/差异备份,例如每2-6小时根据你的需要 14 9月. 112011-09-14 15:22:23

1

你正在使用什么版本的SQL? “尽可能频繁”是什么意思?你为什么想这样做?

您不必进行完整备份。你可以每周做一次完整的,每天晚上做一次差分。使用t-sql或SSMS,您可以在n天后自动删除备份,从而保持备份整洁。

尽可能经常?为什么不每隔5分钟进行一次事务日志备份,然后每5天删除一次?

::我加入了更多的问题::


4

我认为主要问题不在于别人怎么经常备份自己的数据库 - 但您的企业将接受什么水平的损失。如果你的服务器死亡,他们会很高兴从24小时前回到备份文件,或者他们会在一个小时之前需要一个备份文件吗?

我们所有的生产数据库每天都进行一次完整备份,然后每小时运行一次事务日志备份。在发生完全失败的情况下,我们最糟糕的情况是我们失去了一小时的数据(尽管实际上我们使用数据库镜像来保护自己免受此影响)。事务日志备份也给你做的选择点即时恢复: http://msdn.microsoft.com/en-us/library/ms179451.aspx

的另一个因素是数据库的恢复模式 - 如果你在完全恢复模式是,那么你就需要事务日志备份停止事务日志变得难以管理。相比之下,如果您使用简单的恢复,则事务日志备份不是一种选择。

这是一个不错的起点:http://msdn.microsoft.com/en-us/library/ms191239.aspx

希望帮助...


1

比方说你有一个共同的业务场景与你的忙暂且:9点至晚5周一至周五。然后我会建议:在周日晚上进行完整备份。上午8点,下午6点和上午1点进行差异备份(以缩短恢复时间)。每小时记录一次备份或根据您的业务需求进行备份。

根据您的保留期限,您应该有自动清理作业来清除旧的备份文件。

您应该将备份存储在某种形式的冗余磁盘(镜像)上。

如果您使用Amazon S3,那么您将必须为带宽,存储和取/卖请求付费。如果您的数据库存储敏感数据,那么还有一个更复杂的情况。您可以改为使用外部驱动器或NAS设备,并将备份存储在这些设备上。价格不应该是一个问题,因为磁盘便宜。


5

听起来像你不明白SQL Server中的备份是如何工作的。 SQL Server中有三种不同的备份。

完整 - 完整数据库备份将整个数据库和活动事务日志转储到磁盘上的单个(或条带化,但现在忽略此功能)文件。

DIFFERENTIAL - 差异数据库备份将自上次完整备份以来所有已更改的数据备份到备份文件。要从差异备份恢复,您必须拥有在进行差异备份前完成的完全备份。

LOG - 日志备份仅备份当前在事务日志中的数据。日志备份使您能够将数据库恢复到特定时间点(例如,如果某人丢弃了可以恢复到某个点的表,只是恢复该表被丢弃并从该表中取回所有数据)。 LOG备份要求您的数据库处于FULL或BULK_LOGGED恢复模式。要恢复日志备份,您必须在要恢复的日志备份之前进行最新的完整备份,可选择在完整备份和日志备份之间进行差异备份,以及完全备份或差异备份之间的所有日志备份,以及您要还原到的最后一个日志文件。

从您所描述的事情看,您听起来像需要尽可能少的数据。您需要将恢复模式更改为FULL或BULK_LOGGED(FULL是大多数人选择的),然后每隔几分钟设置一次每日完整备份和事务日志备份。运行日志备份的频率取决于您可以承受的数据量。业务应该是设定这个数字的那个,而不是你。根据需求每10-15分钟运行一次日志备份并不罕见。

备份设置完成后,您需要配置某些内容以在几天之后删除文件(具体取决于业务需求以及您可以承受多少存储空间)。

您需要将数据库备份到另一个EC2可用区中的服务器,以便在今年早些时候再次发生亚马逊中断时,您的备份数据仍然安全。

为了确保您的备份正确完成,可能需要一名或两名咨询顾问。如果他们做得不对,现在是时候弄清楚了,而不是当系统出现故障时。