我在东海岸的许多偏远地区拥有运行 SQL Server 200(5/8) 的 Windows 服务器。在我们的公司办公室,我们正尝试设置一个尽可能实时的报告服务器。
我正在寻找一些指导,关于如何完成设置,将我的所有远程机器复制到软件可以查询的一个主服务器。
这可能吗?
编辑:我的主 SQL Server 正在运行 SQL Server 2008 R2 标准。
答案1
有几种方法可以实现这一点。最直接的选择如下:
复制- 由发布者-订阅者模型中的一个或多个服务器组成。事务复制可以将数据从一个数据库复制并分发到一个或多个其他数据库。根据您的情况,您可以为每个远程服务器设置一个发布,它将复制您需要向公司服务器上的指定数据库报告的特定数据。如果您想将所有数据合并到一个数据库中,您也可以使用合并复制(但这需要所有数据库都具有相同的架构)。
数据库镜像- 由主服务器和镜像服务器组成,主服务器(即远程服务器)的每个事务都会应用到镜像服务器(即公司服务器)。镜像数据库无法供客户端访问;但是,您可以在镜像服务器上创建可用于报告的数据库快照。此快照将不包含实时数据,因为它只包含与快照一样近的数据。
这两个选项都是按数据库配置的 - 这意味着如果您在想要复制/镜像的远程位置有 10 个不同的数据库,您将需要在公司办公室创建 10 个相应的数据库。
复制可让您自定义要复制哪些数据,而数据库镜像会移动所有日期。由于您想要接近实时的数据,我感觉最好的选择是事务复制。
这些优点/缺点在以下联机丛书的文章中有进一步概述: