使用链接的服务器跨数据库服务器查询?

我们有多个包含信息孤岛的MSSQL 2005服务器。 我们希望我们的数据库开发人员能够以最透明和最高效的方式join这些孤岛。 数据库大小不一,但数千万行平均,并经常更新。 这些服务器在物理上位于同一地点。

我希望能够从许多不同的服务器实例中创build一种“单一逻辑数据库”。

链接服务器是明显的select,但是我担心查询对特定服务器的性能和紧密耦合。 我也担心吗? 你有经验来支持这个解决scheme吗?


我所称重的其他选项是使用复制,SSIS包,服务代理,或将更多的数据库物理地连接到我们的一台较大的机器上。

此外,我想知道是否有其他供应商提供解决这个问题?

SQL Server没有解决scheme允许“透明”的数据访问。 由于可用性和可维护性的原因,跨许多服务器的查询需要分布式查询(即,连接的服务器),并且具有针对跨多个实例的链接服务器的硬编码查询部署的解决scheme将很快达成目的。 令人惊讶的是移动数据库的真实性如何:服务器更改名称,发生故障转移,数据库因负载平衡而移动。 鉴于DQ的紧密耦合性质,这并不是真正的工作。

其他大型部署通过实施SOA并依靠消息传递来实现,请参阅MySpace使用SQL Server Service Broker保护1 PB数据的完整性 。 这意味着编程中的一个严重的范式转变,以及如何接近解决scheme,使用T-SQL查询的现有应用程序不会神奇地在服务器的“农场”上透明地工作。

我不知道有什么像你从Microsoft或第三方描述的SQL Server。 链接的服务器将允许您创build跨服务器查询,但它们不是透明的。 我认为最接近的可能是使用复制或SSIS将来自各种实例的数据聚合到单个数据仓库中。

您的解决scheme将在于将服务代理整合到您的应用程序中。 这听起来像您可能对实时数据集成示例感兴趣。 您还可以创build跨越sql服务器实例的视图 。 取决于您尝试执行的连接types以及查询运行的位置(分布式或集中式),这些方法之一(或两者)应该执行所需的操作

这听起来像你正在寻找“中央pipe理服务器”,SQL 2008的新function。

这是官方的文档: http : //technet.microsoft.com/en-us/library/bb895144.aspx

这里有一个例子的博客: http : //www.mssqltips.com/sqlservertip/1767/execute-sql-server-query-on-multiple-servers-at-the-same-time/