2008-09-29 33 views
1

我有一個使用MSDE構建的傳統VB6應用程序。SQL2005從遠程VB6應用程序緩慢表示

隨着許多客戶端數據庫向MSDE 2 GB限制發展,它們升級到SQL 2005 Express。

直到今天,這已證明非常成功。

當我通過「網絡」連接SQL 2005 Express命名實例時,我花了整整一天的時間對客戶端的網絡進行故障診斷,在該網絡上我們的應用程序運行速度緩慢得令人無法接受。

我說「網絡」,因爲它只有兩臺XP SP2機器 - 這裏沒有專用服務器。沒有廣告。

在嘗試隔離此問題時,我在兩臺機器上安裝了SQL 2005 Express,並在兩臺機器上放置了我們數據庫的副本。我甚至用我們現在擁有的SQL2005 Express安裝程序甚至完全重新安裝了我們的應用程序。無論是恢復舊的MSDE數據庫還是使用新創建的SQL 2005 Express,都沒有區別。

當運行我們的應用程序並連接到任何一臺機器的本地服務器性能都很好。一旦您將任一臺PC上的應用程序連接到另一臺PC上的服務器上,它的運行速度就會很慢。 (不管組合如何)。

現在,我重建了統計信息(exec sp_updatestats),重建了所有索引,禁用了(臨時)防火牆和病毒軟件以及無數其他的吸管。

我已經在兩臺機器上運行FileMon和ProcessMon,甚至寫了一個測試應用程序來簡單地連接和查詢數據庫中的表。它也運行緩慢 - (需要大約5 - 6秒才能連接)。

當SQL Server寫入日誌文件(c:\ program files \ microsoft sql server \ mssql.1 \ log files \ log_12.trc)時,監視器(文件和進程)顯示延遲。

雖然其他工具如SQL Management Studio Express甚至SSEUtil(我發現的SQL Server Express診斷實用程序)在從客戶端連接到服務器時運行良好。查詢(甚至是大數據)按照您的預期運行。

我確定這個問題是環境問題,因爲我們有很多網站運行的似乎是相同的設置,沒有這樣的問題。

有人能告訴我該怎麼做,以隔離這個問題,甚至提供任何線索或建議,可以幫助解決這個問題?

回答

1

使通過它的清單和systematiccaly工作:

加入這裏的所有帖子的所有建議和一些我在下面添加:

  1. 網絡電纜
  2. 網絡速度
  3. 碎片整理硬盤
  4. 沒有網絡錯誤 - 做一平,並尋找丟失的數據包每臺機器
  5. 拉姆
  6. 處理器
  7. Virusses

等等等等,

1

這可能是由於緩存查詢計劃不能代表數據,即使您認爲已經重建索引和刷新統計數據。您描述的症狀(即SSMS查詢運行良好,但不是來自應用程序)通常是由錯誤緩存的查詢計劃造成的。 SSMS在封面下發出「WITH RECOMPILE」。如果您正在調用存儲過程,請將「WITH RECOMPILE」臨時添加到其定義中,並檢查結果。

1

您是否嘗試過從另一臺機器連接到「服務器」PC?怎麼了?

你有沒有嘗試過「客戶端」到另一臺「服務器」機器?怎麼了?

這個問題可能只是一個普通的東西,如flakey網卡或電纜。

也許值得一試,你打你的大腦進行進一步的前...

+0

謝謝邁克。圖中只有兩臺電腦,通訊方式很慢 - 但這並不妨礙Flacard網卡。如果有可用的話,我會在明天從筆記本上嘗試。謝謝。 – 2008-09-29 10:49:32

+0

更新 - 所有電纜,路由器,網絡驅動程序等已被替換。仍然沒有好處。 – 2008-09-30 00:42:47

1

你在得到啓用哪些網絡協議'表面配置'工具?你能否改變你的連接字符串來使用(臨時)硬編碼的IP地址?