6

作为这个问题的后续,我想知道您的 SQL Server 备份/维护计划是什么,以及如何让我的计划变得更好。

目前,我正在从计划向导运行两个简单的维护计划。

第一个每晚运行,几乎所有事情......

  • 完整的数据库和事务日志备份
  • 完整性检查、重建索引、重新计算统计信息等(我检查了除增量备份之外的所有内容)

另一个每三个小时运行一次并进行增量备份(我很偏执,我知道这可能是矫枉过正)。

备份到磁盘,完整备份发送到 SAN,保留一周。

你怎么看,这是一个明智的计划吗?有什么建议么?

编辑:这是 SQL Server 2005。DB 为 5GB,每月增长约 1GB。

4

6 回答 6

7

听起来不错。我更偏执。我每天进行两次完整备份和每小时事务日志备份。取决于数据库或课程的大小。备份直接到磁盘,然后每晚备份到磁带。

您可能不需要每天都执行维护任务。我只在周末做,除了我们每晚重新索引的这张桌子。同样,这取决于数据库的大小和活动。

如果您有足够的 CPU 和磁盘空间,您可以压缩磁盘备份以节省空间并更快地传输到磁带或其他位置。

于 2008-11-17T21:08:07.330 回答
3

您应该与您的用户/客户/数据保管人交谈——无论您如何称呼他们。他们需要清楚地了解他们可以失去多少工作。如果您没有 SLA,请编写一份 SLA。当遇到坏消息时,您不希望有任何意外。

他们还需要了解恢复需要时间。您需要规划恢复计划以创建可接受的恢复时间。这可能意味着每天进行一次完整备份,每 5 分钟备份 4 次差异和日志备份。这并不像 Marcus Erickson 所说的那样疯狂或偏执——这一切都取决于您的信息和您的组织对其的美元价值。

于 2008-11-18T16:33:27.990 回答
2

我认为您每 3 小时运行一次备份并不偏执。基本上,您的备份计划必须根据您的恢复要求来衡量。您在恢复期间可以承受多长时间的停机,而在停机之前您愿意丢失多少数据。对于 SQL Server,您可以通过将事务日志备份添加到备份计划中来大大减少您愿意丢失的数据量。许多人每隔几分钟就会这样做一次,具体取决于通过系统的交易量。要进行还原,您只需还原最后一次完整备份、最后一次增量备份,然后是自增量备份以来的所有事务日志备份。这可以最大限度地减少数据丢失,但应用所有事务日志备份可能需要一点时间。我经常看到以下内容:

于 2008-11-17T21:27:25.060 回答
1

请记住在实际尝试从您创建的备份(到测试系统)中恢复的地方进行防火练习。这应该每月进行一次。

于 2009-01-19T10:35:30.133 回答
1

我向我的客户推荐的最低要求是每晚对数据库进行一次完整备份,然后每 3 小时进行一次事务备份。有多少人从未设置备份,这总是让我感到惊讶。那些总是不好的电话。

于 2009-05-05T05:08:05.267 回答
0

在我看来,最好的方法是:

每 12 小时进行一次完整的数据库备份

BACKUP DATABASE database TO DISK = 'd:/full.bak'

每六个小时进行一次差异备份,在发生故障的情况下更容易恢复过程

BACKUP DATABASE database TO DISK = 'd:/diff.bak' WITH DIFFERENTIAL

当然,还有最好每小时进行一次的事务日志备份。

BACKUP LOG database TO DISK = 'log.bak'

如果失败的情况下,恢复过程将是下一个:

  • 上次完整备份
  • 上次差异备份
  • 最后的事务日志

必须承认,最好使用完全恢复模式来实现时间点恢复。

于 2015-11-24T14:10:56.613 回答