none
SQLServer2000のインストール RRS feed

  • 質問

  • 新しいサーバーにWindowsServer2003R2をインストールし、SQLServer2000をインストール後にSP4を適用しました。
    データベースを復元し現在運用中のプログラムからアクセスしたのですが、特定の検索処理で時間がかかるようになってしまいました。
    旧サーバーで同じ処理を実行すると10秒程度で表示まで完了するのですが、新サーバーでは約1分程度かかっています。

    同様な事象が発生して解決された方がいたら、その方法などをご教授ください。

    2012年11月13日 10:39

回答

  • 新しいサーバーにWindowsServer2003R2をインストールし、SQLServer2000をインストール後にSP4を適用しました。
    データベースを復元し現在運用中のプログラムからアクセスしたのですが、特定の検索処理で時間がかかるようになってしまいました。
    旧サーバーで同じ処理を実行すると10秒程度で表示まで完了するのですが、新サーバーでは約1分程度かかっています。

    同様な事象が発生して解決された方がいたら、その方法などをご教授ください。

     旧サーバーで取得したバックアップを新サーバーにリストアしたという事でよろしいでしょうか?
    とりあえずですが、統計情報の更新、インデックスの再構築、(必要に応じて)ストアドプロシージャの再コンパイルを行ってみてはどうでしょうか。

     あとはSQL Server Management Studioで検索クエリーを実行、クエリープランを表示して、どこに時間がかかっているかを調べてみてはどうでしょうか?

    • 回答としてマーク 星 睦美 2012年11月27日 7:33
    2012年11月13日 13:46

すべての返信

  • 新しいサーバーにWindowsServer2003R2をインストールし、SQLServer2000をインストール後にSP4を適用しました。
    データベースを復元し現在運用中のプログラムからアクセスしたのですが、特定の検索処理で時間がかかるようになってしまいました。
    旧サーバーで同じ処理を実行すると10秒程度で表示まで完了するのですが、新サーバーでは約1分程度かかっています。

    同様な事象が発生して解決された方がいたら、その方法などをご教授ください。

     旧サーバーで取得したバックアップを新サーバーにリストアしたという事でよろしいでしょうか?
    とりあえずですが、統計情報の更新、インデックスの再構築、(必要に応じて)ストアドプロシージャの再コンパイルを行ってみてはどうでしょうか。

     あとはSQL Server Management Studioで検索クエリーを実行、クエリープランを表示して、どこに時間がかかっているかを調べてみてはどうでしょうか?

    • 回答としてマーク 星 睦美 2012年11月27日 7:33
    2012年11月13日 13:46
  • CatTailさん、返信ありがとうございます。

    CatTailさんのご意見を参考に調べたところ、新旧のサーバーで実行プランの表示が違うことがわかった
    ので表示の違いついて調べたところ、プロセッサの並列処理の設定が「使用可能なすべてのプロセッサ
    を使用」となっている場合、並列処理として実行されるSQLでは逆に処理コストがかかるときがあること
    がわかりました。

    新サーバーは複数のプロセッサを搭載しているマシンなので、プロパティの「並列処理」で「使用する
    プロセッサ数」を「1」にすることで、旧サーバー並みの速度でデータを取得することができました。

    貴重なご意見、ありがとうございました。

    2012年11月14日 7:18