我们有两台SQL 2005机器。 一个用于生产数据,另一个用于运行查询/报告。 每天晚上,生产机器将数据库转储(备份)到磁盘,另一个恢复它。 这被称为D-1过程。
我认为必须有一个更有效的方法来做到这一点,因为SQL 2005有多种forms的复制。 一些要求:
1)不需要即时复制,可以有(一些)延迟
2)所有更改(包括模式,数据,约束,索引)都需要复制,而不需要手动干预
3)仅用于单个数据库
4)如果需要,还有第三台服务器可用
5)服务器之间有高带宽(千兆以太网)可用
6)没有可用的共享存储(SAN)
这个每日备份/恢复程序有什么好的select? 谢谢!
最好的select是日志传送 。 日志传送也基于备份/恢复,但是在完整数据库备份的初始种子之后,通过从主站点应用日志备份来维护报告站点。 日志传送是好的,因为:
缺点是每次恢复日志时报告站点都会中断,所有用户在恢复过程中都会被踢出。
因此,如果您有一个典型的30分钟的日志备份时间间隔,那么报告站点总是高达30 + X分钟(X表示复制文件并恢复所需的时间,通常很小),并且用户每隔30分钟很短的时间。
另一种select是数据库镜像 。 使用DBM,报告站点始终保持最新状态,但缺点是镜像数据库处于脱机状态。 报告必须从定期更新的数据库快照中运行。 与日志传送不同,DBM也会影响主要网站。 DBM解决scheme非现场报告的一大优点是,一旦部署,它也可以作为高可用性/灾难恢复解决scheme。
有些人也使用事务复制 ,但我不是那种技术的粉丝。 虽然易于部署,但在高负载下运行缓慢,并且存在难以解决和诊断的问题。 此外,复制并不是完全复制一个数据库,而是维护发布数据库(即选定的表和索引)中发布的文章的副本,而架构修改需要仔细的规划和部署。 使用日志传送和镜像数据库模式更改只需要复制没有任何问题。