简单的SQL Server 2005复制 – 用于大量查询/报告的“D-1”服务器

我们有两台SQL 2005机器。 一个用于生产数据,另一个用于运行查询/报告。 每天晚上,生产机器将数据库转储(备份)到磁盘,另一个恢复它。 这被称为D-1过程。

我认为必须有一个更有效的方法来做到这一点,因为SQL 2005有多种forms的复制。 一些要求:

1)不需要即时复制,可以有(一些)延迟

2)所有更改(包括模式,数据,约束,索引)都需要复制,而不需要手动干预

3)仅用于单个数据库

4)如果需要,还有第三台服务器可用

5)服务器之间有高带宽(千兆以太网)可用

6)没有可用的共享存储(SAN)

这个每日备份/恢复程序有什么好的select? 谢谢!

最好的select是日志传送 。 日志传送也基于备份/恢复,但是在完整数据库备份的初始种子之后,通过从主站点应用日志备份来维护报告站点。 日志传送是好的,因为:

  • 对主站点没有影响
  • 在用于部署,监视和pipe理的SQLpipe理工具集中提供支持
  • 传输的数据是最小的,只有数据库日志备份只包含自上次发货以来发生的变化。
  • 数据延迟相对较小:日志之间的时间间隔+复制日志文件的时间并恢复。

缺点是每次恢复日志时报告站点都会中断,所有用户在恢复过程中都会被踢出。

因此,如果您有一个典型的30分钟的日志备份时间间隔,那么报告站点总是高达30 + X分钟(X表示复制文件并恢复所需的时间,通常很小),并且用户每隔30分钟很短的时间。

另一种select是数据库镜像 。 使用DBM,报告站点始终保持最新状态,但缺点是镜像数据库处于脱机状态。 报告必须从定期更新的数据库快照中运行。 与日志传送不同,DBM也会影响主要网站。 DBM解决scheme非现场报告的一大优点是,一旦部署,它也可以作为高可用性/灾难恢复解决scheme。

有些人也使用事务复制 ,但我不是那种技术的粉丝。 虽然易于部署,但在高负载下运行缓慢,并且存在难以解决和诊断的问题。 此外,复制并不是完全复制一个数据库,而是维护发布数据库(即选定的表和索引)中发布的文章的副本,而架构修改需要仔细的规划和部署。 使用日志传送和镜像数据库模式更改只需要复制没有任何问题。