2015-02-11 85 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

相關問題