現在オフラインです。再接続するためにインターネットの接続を待っています

FIX ストアド プロシージャ再コンパイルの同時実行のすべてのステートメントを実行できないことがあります。

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

英語版 KB:250506
# をバグ: 55251 (SQLBUG_70)
現象
ストアド プロシージャは、次の条件が満たされている場合は、そこに含まれるすべてのステートメントを実行できませんでした。

  • 複数の接続を同時に同じ手順を実行します。

  • このプロシージャの外部で作成された一時テーブルへの参照になります。

  • このテンポラリ ・ テーブルへの参照も ('自動更新統計' によってが発生可能性があります)、再コンパイルが発生する可能性があります 1 つ以上のステートメントを実行します。
すべてのステートメントは、失敗する他のユーザーがこの手順では、実行しているユーザーの一部を実行できます。
回避策
WITH RECOMPILE 句は、プロシージャの作成または、プロシージャを実行すると、WITH RECOMPILE 句を使用します。
状況
Microsoft この問題 SQL Server 7.0 の問題として認識しています。この問題を Microsoft SQL Server 7.0 の u. s. Service Pack 2 で修正されています。 詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
254561 INF: Microsoft SQL Server 7.0 の Microsoft データ エンジン (MSDE) 1.0 Service Pack 2 の入手方法
詳細については、プライマリ サポート プロバイダーに連絡してください。
詳細
参照は、現在のプロシージャの外側に作成された一時テーブルになるかどうかは、プロシージャが最初に実行される場合ステートメントと、それ以降のステートメント コンパイルできますしないこと。これは、テーブルのスキーマに関する情報がわかっていることはないためにです。実行ステートメントに達したスキーマおよび基数値を利用すると、この情報を使用して、プロシージャがリコンパイルです。コンパイル時に最小化するには、SQL Server、「部分的なコンパイル」このような状況では、のみにこの 1 つのステートメントのクエリ プランが生成されます。

複数のユーザーが、コンパイル済みのプランを共有できるため、SQL Server 7.0 の接続は 1 つだけ再コンパイルを実行するように再コンパイルをシリアル化します。ほかの接続も再コンパイルする必要がある場合は、再コンパイルの完了し、次の手順を実行を再開するのには、最初の接続を待ちます。

2 つの接続が実行のさまざまな段階では、再コンパイルをトリガーするまずプロシージャの外側に作成された一時テーブルへの参照の前に、状況が発生する場合は、そのステートメントに到達するとプランをコンパイルを停止します。2 番目の接続後はこれをどこかにあるし、最初の接続がコンパイルされるときにも、再コンパイルをトリガーする場合は、実行を再開して誤って、計画のすべてのステートメントが実行されたことを確信しています。

WITH RECOMPILE を使用して、プロシージャの作成時、または実行時に、2 つの接続は、同じコンパイルされたプランを共有し、決してこのような状況が発生します。

可能な場合は、プロシージャの再コンパイルは常に必要があるため、現在のプロシージャの外部で作成された一時テーブルを参照しないようにお勧めです。ストアド プロシージャの他のプログラミングの手法「Transact SQL のヒント」」SQL Books Online 内にあります。

プロシージャが再コンパイル中を確認するには、SP:Recompile イベントは、プロファイラーの SQL を見ることができます。
不完全な一部のストアド プロシージャをコンパイルします。

警告: この記事は自動翻訳されています

プロパティ

文書番号:250506 - 最終更新日: 07/13/2011 16:36:00 - リビジョン: 4.0

  • kbbug kbfix kbmt KB250506 KbMtja
フィードバック
=">