MSDEを使用して構築されたレガシーVB6アプリケーションがあります。
多くのクライアントのデータベースがMSDE2GBの制限に向かって成長するにつれて、SQL2005Expressにアップグレードされます。
これは今日まで非常に成功していることが証明されています。
「ネットワーク」を介してSQL2005Expressの名前付きインスタンスを接続するときに、アプリケーションの実行速度が許容できないほど遅いクライアントのネットワークのトラブルシューティングに1日を費やしました。
XP SP2マシンが2台しかないため、「ネットワーク」と言います。ここには専用サーバーはありません。ADなし。
この問題を切り分けるために、両方のマシンにSQL 2005 Expressをインストールし、データベースのコピーを両方のマシンに配置しました。現在のSQL2005Expressインストールルーチンを使用して、アプリケーションを完全に再インストールしました。古い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診断ユーティリティ)などの他のツールは、クライアントからサーバーに接続するときに完全に実行されます。クエリ(大きなクエリでも)は期待どおりに実行されます。
非常に多くのサイトが同じセットアップで実行されているため、この問題は環境に問題があると思います。そのような問題はありません。
誰かがこの問題を切り分けるために私が何をすべきかを教えてもらえますか、あるいはこれを解決するのに役立つ手がかりや提案を提供することさえできますか?