客户端服务器上的链接服务器奇怪性能问题

时间:2015-12-18 16:20:29

标签: sql sql-server performance linked-server

我在SQL Server计算机上遇到链接服务器的奇怪问题。我有一个Master SQL Server和两个相同的Client SQL Server。在客户端计算机上有一个名为MASTER的链接服务器。客户端计算机使用此链接服务器将其数据同步到主数据库。

问题是;查询在客户端1上工作得非常好。但是,同样的查询在客户端2上比第一个查询慢20倍。机器是相同的,其他情况似乎正常。我认为存在基于网络的问题,但不确定。顺便说一句,两台机器上的数据大小几乎相同。

我的示例代码如下。在客户端1上,每个打印行显示50-100毫秒,但在客户端2上显示500-750毫秒

declare @i int =0
declare @ID int 
declare @Start datetime
declare @End datetime

set @Start=getdate()

while (@i<10)
begin

        Select Top 1 @ID=ID from [MASTER].[MYDB].[dbo].SYNCDATA

        set @End=getdate()
        PRINT CAST(datediff(ms,@start,@End) as varchar)
        set @Start=getdate()

        RAISERROR ('', 0, 1) WITH NOWAIT

        set @i=@i+1
end

如果有人之前遇到过这样的问题,也许可以给我一些解决问题的线索......

先谢谢

凯南

1 个答案:

答案 0 :(得分:0)

物质世界中没有任何东西是完全相同的:) 两台客户端计算机的内存或网络连接可能不同,或者可能是SQL客户端驱动程序的版本,或者其他一百万个因素。 客户端服务器的位置如何?它们是在同一建筑物,不同的城市,也许它们通过不同的路由器连接,一个比另一个慢。这里有很多变量,如果没有物理访问就无法进行调试。