2012-02-20 61 views
2

後很慢我有一個數據庫的SQL Server 2005 Express的版本。我也有一個C#winforms應用程序來訪問具有500行aprox的表客戶。我有winforms應用程序在本地pc內的sql server 2005 Express。SQL遠程查詢遷移的SQL Server

現在,我已經買了SQL Server 2008標準版的服務器,我已經遷移我的數據庫到該服務器,並重新配置我的應用程序訪問到新的服務器throught蘭。

問題是,像SELECT name, lastname,phone,fax,address FROM Customer ORDER BY name(我有500行)的簡單查詢如果我在服務器中執行它,它在1秒內運行,但如果我打開我的應用程序(在其他電腦trought lan,而不是在服務器中)大約需要4分鐘才能返回結果。

我不知道該怎麼辦,因爲數據庫是非常非常小。

感謝

+0

你有沒有做過測試,看看你之間存在什麼類型的延遲PC託管應用程序和數據庫?另外,你可以發佈你用來檢索數據的應用程序的代碼嗎? – Dan 2012-02-20 14:52:30

+0

你看過查詢的執行計劃嗎? – chrr 2012-02-20 14:52:47

+0

您是否嘗試在另一個指向服務器的客戶端上運行應用程序? – kaj 2012-02-20 14:55:47

回答

0

一件事是嘗試運行SQL事件探查器和跟蹤查看該查詢本身實際上是服藥4秒內從你的客戶來時執行。

上演示如何使用Profiler來創建跟蹤一些信息: http://sqlserverpedia.com/wiki/Using_SQL_Server_Profiler 這裏 http://databases.about.com/od/sqlserver/ht/trace.htmhttp://www.mssqltips.com/sqlservertip/2232/working-with-sql-server-profiler-trace-files/

我猜想,查詢本身在相同的時間可能運行無論在哪裏了查詢被髮出並且跟蹤可以幫助證明這一點。在本地運行查詢,然後遠程運行,並比較每個請求的持續時間。如果時間接近於您可以確信的是,實際的查詢是沒有過錯的,你可以專注於確定延遲的其他來源 - 也許網絡等

+0

我會嘗試sql分析器,但我認爲問題是服務器或服務器的局域網適配器,因爲如果我在服務器中運行查詢它不到一秒鐘,如果我遠程運行需要2分30秒。我無法在服務器上找到任何問題,因爲它從互聯網上下載得非常快。 – uoah 2012-02-22 09:26:40