- 締切済み
Windows7 SQL2000 接続が遅いので
VB6にて開発した業務システムを、Windows2003server内のSQL2000をODBC経由にて接続した状態で使用しています。 現象は受注ファイル 50,000件程度から、受注番号(キー)で1件を参照して、表示するまでの秒数が、Windows XP(クライアント)の場合は、0.1秒ほどで表示されるのですが、Windows7 corei5(クライアント)にて同様の処理をすると、表示までに5秒ほどかかり使い物になりません。 現在下記のようにいろいろ試して見たのですが、2秒以上早くすることができません。 (1)ウイルスセキュリティを除去し、5秒から3秒でで2秒短縮 (2)Windows 2003サーバーサービスパックをsp2からsp4に変更したら、3秒から2秒になりました。 (3)Windows 2003サーバー内にSQL2008をインストールして、上記のような接続をしてもあまりスピードがかわりませんでした。 他に短縮できるような方法があれば教えてください。 (業務システムの.netへの以降はコード量が膨大なので、現在は無理です) よろしくお願いいたします。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- nora1962
- ベストアンサー率60% (431/717)
そうですねえ。 MSのサイトを見ると http://www.microsoft.com/japan/sqlserver/2005/prodinfo/previousversions/support/lifecycle.mspx 「2010/12/31 またはメインストリーム サポート終了後 5年間のいずれか長い方」 とありますから、sqlserver2005が出てかなりたっているので延長サポートも切れてますね。 正直、sqlserverのWindows認証の内部メカニズムは全然分からないので、力になれずすみません。 ただ、組織のポリシーとしてWindows認証を使われると言うことなら、ベンダーサポートのある新規製品にしておいたほうが安心感はあると思います。 早々にリプレースの予定のあるシステムならsqlserver2000のSQL認証をテストしてみるのも一手ですが。
- nora1962
- ベストアンサー率60% (431/717)
たびたび失礼 Management Studioから 「セキュリティ認証モードの変更」「sqlserverの再起動」も必要でした。
- nora1962
- ベストアンサー率60% (431/717)
記述を忘れました。 XPからのpingの応答時間と、Windows7の応答時間に大きな差はありますか?
補足
現時点でのpingは下記の通りです。 win7 4パケットともバイト数=32 時間<1ms TTL=128 ラウンドトリップ 最小 0ms 最大 0ms 平均 0ms xp 2パケットが32 時間<1ms TTL=128 1パケットが32 時間<3ms TTL=128 1パケットが32 時間<19ms TTL=128 ラウンドトリップ 最小 0ms 最大 19ms 平均 5ms でした。 あとSQL2000をwindows7クライアント自身に強制インストールして、試してみたところほぼ瞬時に表示されるので、スタントアロン環境では問題ないようです。 混合認証の件は、システム担当に許可をもらいますので、 しばらくお待ちください。
- nora1962
- ベストアンサー率60% (431/717)
一度、混合認証を有効にしてsaでの接続を試してみていただけませんか。 変更方法は http://msdn.microsoft.com/ja-jp/library/ms188670.aspx にありますが、 ALTER LOGIN sa ENABLE ; GO ALTER LOGIN sa WITH PASSWORD = '<enterStrongPasswordHere>' ; GO です。 後、ODBCではなくADOでの接続もテストしてみてください。
補足
既存環境は他のシステム担当が管理してますので、新たに仮のサーバーとしてWin7 core2 duoのマシンにSQL2008、混合認証モードでインストールし、Windows7 corei5(クライアント)て試してみました。 結果は、Windows XP(クライアント)と同様に0.1秒ほどで表示することができました。 ということは、SQL2008serverでSQL2008かSQL2008R2の環境に移行しないと行けないのかを悩んでいます。
- nora1962
- ベストアンサー率60% (431/717)
認証はwindows認証ですか、SQL認証ですか?
補足
ご連絡ありがとうございます。 認証はwindows認証になります。 よろしくお願いします。
お礼
別システム担当に確認したところ、認証方法は変えられないとのことで、他の方法を探してみました。 結果 TCP/IP 接続をやめて名前付きパイプ接続に変えた回避できました。ご親切にいろいろアドバイス頂きありがとうございました。