我主要是一名开发人员,但对于一个小型内部系统,我目前还负责运行 SQL Server Enterprise Edition 的服务器的一些配置。
数据库本身从两个来源看到活动:
- 一种交付数据的客户端软件
- 我们的客户用来检查来自客户的数据并在外部进行管理的 Web 应用程序。
我对使用内置的 SQL 服务器备份实用程序感到相当满意,我设置了一个维护计划,每 6 小时备份一次整个数据库,并且在数据库备份之间每 6 小时记录一次事务日志(例如,早上 6 点,数据库备份,上午 9 点事务日志备份,下午 12 点数据库备份,下午 3 点事务日志备份)。我们每周都会对整个服务器进行磁带快照(数据不是关键任务,更多的是研发项目)。
在此设置之前,数据库开始急剧增长,现在所有完整数据库备份都以非常易于管理的 15Mb(并且缓慢增长)进入,事务日志在 9 到 12Mb 之间。
我做对了吗?您对事务日志备份的频率还有其他见解吗?
如果我错过的另一个问题中的任何内容可能有用,请随时指出我。
坦率地说,没有理由不以更频繁的速度运行事务日志备份。事务日志备份不会造成任何伤害。(在大多数情况下,它只会占用一点 CPU 和磁盘活动 - 但通常几乎可以忽略不计。)
此外,您可以通过将日志文件备份移动到性能较低的磁盘来增加覆盖范围并提高性能: SQL Server Magazing:最大化存储性能
通过增加备份频率,您将减少可能丢失数据的窗口。(从技术上讲,如果 SQL Server 崩溃,如果您的日志文件仍然完好无损,您有时可以恢复自上次 FULL/DIFFERNTIAL 备份以来丢失的事务。但通常,如果出现问题足以让您首先备份,则有一个很有可能您的日志文件已消失/敬酒。)
随意查看以下视频,了解有关备份、日志和最佳实践方面的更多背景和信息:
SQL Server 备份揭秘
SQL Server 日志记录基础
管理 SQL Server 2005/2008 日志文件
SQL Server 备份最佳实践
到目前为止听起来不错。您还必须记得测试您的备份!
如果您的系统变得至关重要,您还可以考虑发送事务日志,或者比 3 小时更频繁的间隔。
最佳 SQL Server 备份策略仅取决于您的数据库可用性和数据一致性要求...
如果您准备好丢失数据 6 小时(连续事务日志/数据库备份之间的时间段) - 没关系。如果不是,请多考虑优化备份策略(例如,使用更频繁的事务日志备份/增量备份,甚至数据库镜像)。
安迪,
您可能还希望在数据库上配置一些索引维护。您可以为这些活动配置单独的维护计划,可能在用户未连接时每晚或每周运行它们。
如果你有你的备份策略,你的恢复窗口是每三个小时一次。只要您能忍受在最糟糕的时间丢失三个小时的数据,一切都很好。