none
SQL Server 2000 SP3で終了する処理がSP4だと終わらない RRS feed

  • 質問

  • はじめまして。

    SQLServer2000のSP3とSP4の環境でそれぞれ同じデータ量、
    同じマシンでストアドプロシージャを実行したところ
    SP4だと処理が終了せず原因を調査しています。

    ストアドプロシージャの処理内容は、マスタを参照し、計算処理を行い
    テーブルにデータをINSERT、UPDATEする処理です。
    いくつかINSERT、UPDATEする箇所はあるのですが、
    止まってしまう場所は、データをINSERT~SELECT~でデータを登録している箇所です。
    データ件数が少なければ処理は終了するのですが、データ件数が多くなると
    処理が返ってこなくなります。
    現在はINSERT~SELECT~を使用せず、抽出するデータ件数が少なくなるよう
    カーソルでループしてINSERTすることで対応しています。

    同じ条件でSP3ではうまくいきSP4ではうまくいかないのは
    SP4で一度にSELECTできるデータ量など制限があるのでしょうか?

    何か情報があれば教えてください。

    よろしくお願いします。



    2008年9月4日 1:44

回答

  • クエリアナライザで実行プランを比べてみてはどうですか?

    2008年9月4日 3:52
  • こんにちは、naginoです。

     

    # 現在クエリアナライザが使用できる環境にいないので記憶を頼りにしています。

     

    クエリアナライザで実行プランを表示する場合、メニューの「クエリ」にある「推定実行プランの表示」を使って、

    クエリを実行せずに実行プランだけ表示できたと思います。

    クエリがタイムアウトしてしまう場合は、こちらを使用してみてください。

     

    一助になれば幸いです。

    2008年9月5日 5:54

すべての返信

  • クエリアナライザで実行プランを比べてみてはどうですか?

    2008年9月4日 3:52
  • 実行プランを見ようとSQLを実行したのですが
    かえってきませんでした。。。
    2008年9月5日 0:01
  • こんにちは、naginoです。

     

    # 現在クエリアナライザが使用できる環境にいないので記憶を頼りにしています。

     

    クエリアナライザで実行プランを表示する場合、メニューの「クエリ」にある「推定実行プランの表示」を使って、

    クエリを実行せずに実行プランだけ表示できたと思います。

    クエリがタイムアウトしてしまう場合は、こちらを使用してみてください。

     

    一助になれば幸いです。

    2008年9月5日 5:54
  • こんにちは。中川俊輔 です。

     

    よっしーーさん、naginoさん、回答ありがとうございます。

     

    やんぐさん、フォーラムのご利用ありがとうございます。

    その後いかがでしょうか?

    有用な情報と思われたため、

    よっしーーさん、naginoさんの回答へ回答済みチェックをつけさせていただきました。

    追加の質問等ありましたら、是非投稿してみてください!

     

    回答済みチェックが付くことにより、有用な情報を探している方が情報を見つけやすくなります。
    有用な情報と思われる回答があった場合は、なるべく回答済みボタンを押してチェックを付けてください。

    やんぐさんはチェックを解除することもできますので、ご確認ください。

     

    それでは!

     

    2008年9月18日 6:57
  • naginoさん

    ありがとうございます。
    サーバが起動できなくなってしまって確認できていないでいました。
    やっと確認できそうですので試してみます。


    2008年9月24日 12:01