Sql 对多台服务器运行查询?

Sql 对多台服务器运行查询?,sql,sql-server,tsql,sql-server-2008,sqlcmd,Sql,Sql Server,Tsql,Sql Server 2008,Sqlcmd,我不确定这个问题的最佳设计模式是什么,因此任何建议都将不胜感激。我有两个SQL ServerA(带DBs P,Q,R)和B(带DBs X,Y,Z) 从命令行将服务器a上的表与服务器B上的表连接起来的有效方法是什么?基本上,我正在尝试自动化一个长时间运行的查询列表,但不确定如何继续 编辑:我无法控制服务器,也不是管理员。无法跨不同的服务器执行连接。您可以在这些服务器上使用群集解决方案来为您完成,也可以自己完成—从一个表中读取数据,然后在代码中手动执行联接。至少我会在两台服务器之间创建一个连接。使用

我不确定这个问题的最佳设计模式是什么,因此任何建议都将不胜感激。我有两个SQL Server
A
(带DBs P,Q,R)和
B
(带DBs X,Y,Z)

从命令行将服务器
a
上的表与服务器
B
上的表连接起来的有效方法是什么?基本上,我正在尝试自动化一个长时间运行的查询列表,但不确定如何继续


编辑:我无法控制服务器,也不是管理员。

无法跨不同的服务器执行连接。您可以在这些服务器上使用群集解决方案来为您完成,也可以自己完成—从一个表中读取数据,然后在代码中手动执行联接。

至少我会在两台服务器之间创建一个连接。使用类似的东西将比使用链接服务器慢


根据您需要这些查询运行的速度有多快,您可能会考虑每晚将数据从服务器A复制到服务器B(或者反过来)。这样,您就不必担心跨服务器问题。

我无法控制服务器,也不是管理员。
管理员是否愿意与您合作?我刚刚向他们发出了关于这一点的提示,但目前假设情况最坏。您是否认为这可以通过Business Intelligence Studio实现?另一方面,我有能力在任何一台服务器上创建临时表,因此不确定这是否有任何用处。+1 OPENROWSET可能会起作用。我会检查一下,然后回来。谢谢。很遗憾,我收到了以下错误消息:
SQL Server阻止了对组件“即席分布式查询”的语句“OpenRowset/OpenDatasource”的访问,因为此组件作为此服务器安全配置的一部分被关闭。系统管理员可以使用sp_configure启用“临时分布式查询”。有关启用“临时分布式查询”的更多信息,请参阅SQL Server联机丛书中的“表面积配置”。
因此,我想我运气不好。去DBA的办公室,开始跺脚。没有他们的帮助,你只能做这么多…+1谢谢你。我首先尝试的是一种纯粹的基于T-SQL的方法,如果失败,我将求助于编写一个C#应用层。