2015-02-11 71 views
0

我试图通过链接的服务器从两个SQL Server中获取数据。一个是SQL 2014 Express,另一个是SQL 2008 Standard。但是现在2008年标准版比2014年版更快。与其他服务器相比,服务器链接速度较慢

他们的基本服务器(从我试图获取数据)是SQL 2008 R2标准。

有什么理由呢?如何调整?

请回复。

回答

1

不可能直接回答你的问题,因为可能有很多原因。关闭我的头顶:

  • 您是否使用相同的查询从两台服务器获取数据?如果是这样,查询计划是否相同?如果仅仅从表中读取所有记录而没有任何过滤器或连接,会发生什么?
  • 服务器位于网络的不同部分吗? (防火墙,负载均衡器等)
  • 远程服务器上的数据库如何配置?多个数据文件等?请记住,SQL Express对于使用的核心数量等有一些限制。
  • 远程服务器的规格是什么?有人比其他人拥有更快的磁盘或更多的RAM吗?更快的网络接口?等等
  • 服务器是否忙于其他任务?
  • 服务器是虚拟还是物理?

我现在可以给出的最好建议是,您应该尝试仔细检查远程服务器。也许可以在每台服务器上本地运行查询,以了解它们如何直接在该服务器上执行(以消除网络问题)。然后,可能尝试通过SSIS导入数据,而不是使用链接服务器(以消除一些链接的服务器配置问题)。采取宝宝的步骤,一点一点地,问题应该变得更加明显。

+0

非常感谢Dan。我已经检查了查询(同一课程)在本地服务器上运行良好,并且两台远程服务器都是相同的,只有一台有2008标准,另一台有2014 Express。执行计划也是一样的。所以不能加快这个问题。 – pritamS 2015-02-11 08:47:57

+0

听起来像网络问题。如果使用SSIS(导入/导出向导)而不是链接服务器导入数据,性能如何? – Dan 2015-02-11 08:53:39

+0

我已经尝试过,但无法连接到源(或导入/导出向导)目标中的这两个服务器。更奇怪的是,当我在本地运行查询时需要10秒钟,但是当我通过另一台服务器的链接服务器运行它时(所有表都从链接的server.DB.dbo.table开始),它需要0秒! – pritamS 2015-02-11 11:05:30