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

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

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

我认为必须有更有效的方法来实现这一点,因为 SQL 2005 有多种形式的复制。一些要求:

1)无需立即复制,可能会有(一些)延迟

2)所有更改(包括模式、数据、约束、索引)都需要复制,无需人工干预

3)仅适用于单个数据库

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

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

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

有什么方法可以替代这种每日备份/恢复程序?谢谢!

答案1

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

  • 对主站点没有影响
  • 在 SQL 管理工具集中支持部署、监控和管理
  • 传输的数据很少,只有数据库日志备份,其中仅包含自上次发货以来发生的变化。
  • 数据延迟相对较小:日志间隔+复制日志文件并恢复的时间。

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

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

另一种选择是数据库镜像。使用 DBM,报告站点可以不断更新,但缺点是镜像数据库处于离线状态。报告必须从数据库快照定期更新。与日志传送不同,DBM 还会影响主站点。DBM 解决方案对于异地报告的一大优势是,一旦部署,它也可以用作高可用性/灾难恢复解决方案。

有些使用事务复制我也喜欢,但我不太喜欢这种技术。虽然部署起来很容易,但在高负载下速度很慢,而且往往会遇到难以排除故障和诊断的问题。此外,复制并不完全复制数据库,而是在分发数据库中保留已发布文章的副本(即选定的表和索引),并且模式修改需要仔细规划和部署。使用日志传送和镜像,数据库模式更改只需复制即可,不会出现任何问题。

相关内容