2012-02-20 11 views
2

データベースが1つのSql Server 2005 Express Editionがあります。私は500行aproxを持つテーブルの顧客にアクセスするにはあまりにもC#のwinformsアプリケーションがあります。私はwinformsアプリケーションでローカルPC内にSQL Server 2005 Expressを持っている。SQLリモートクエリはSQL Serverの移行後に非常に遅い

SQL Server 2008標準版のサーバーを購入しました。データベースをそのサーバーに移行し、新しいサーバーにアクセスするようにアプリケーションを再構成しました。

問題は、SELECT name, lastname,phone,fax,address FROM Customer ORDER BY nameのような単純なクエリです(私は500行あります)。サーバーで実行すると、1秒後に実行されますが、サーバー上ではなく、結果を返すのに約4分かかります。

データベースが非常に小さいため、私は何をすべきか分かりません。しようとする

おかげ

+0

あなたはどのタイプの待ち時間が存在するかを確認しましたか? PCとアプリケーションとデータベースをホストしていますか?また、データを取得するために使用しているアプリケーションからコードを投稿することはできますか? – Dan

+0

クエリの実行計画を確認しましたか? – chrr

+0

サーバーを指し示す別のクライアントでアプリケーションを実行しようとしましたか? – kaj

答えて

0

ことの一つは、SQLプロファイラを実行し、クエリ自体は実際にあなたのクライアントから来たときに実行するために4秒を取っている場合は、トレースから確認することです。

ここプロファイラを使用してトレースを作成する方法についていくつかの情報:ここ http://sqlserverpedia.com/wiki/Using_SQL_Server_Profilerhttp://databases.about.com/od/sqlserver/ht/trace.htmまたはhttp://www.mssqltips.com/sqlservertip/2232/working-with-sql-server-profiler-trace-files/

私は、クエリ自体はおそらく関係なく、どこのと同じ時間で実行されていないことを推測しますクエリが発行され、トレースはこれを証明するのに役立ちます。クエリをローカルで実行してから、リモートからこれらの要求のそれぞれの期間を比較します。時間が近すぎると、実際のクエリに問題がないと確信でき、ネットワークなどの潜在的な遅延の原因を特定することに集中できます。

+0

私はSQLプロファイラを試してみますが、問題はサーバーまたはサーバーのlanアダプタだと思う。サーバーでクエリを実行すると1秒未満がかかるため、リモートで実行すると2分30秒かかります。私はインターネットから非常に速くダウンロードするので、私はサーバーで何か問題を見つけることができません.. – uoah

関連する問題