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

FIX マージ結合操作では、SQL Server 2005 は、INSERT ステートメントの実行プランに含まれる場合外部キー制約を持つ一時テーブルで挿入操作を失敗します。

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

英語版 KB:977100
Microsoft Microsoft SQL Server 2005年修正プログラム 1 つのダウンロード ファイルとして配布しています。修正プログラムは累積的であるため、各新しいリリースすべての修正プログラムが含まれているし、以前の SQL Server 2005 に含まれていたすべてのセキュリティ修正プログラム リリースを修正します。
現象
次のシナリオを検討してください。
  • Microsoft SQL Server 2005 年には、外部キー制約を持つテーブルがあります。
  • このテーブルに多数の行を挿入する INSERT ステートメントを実行します。
  • INSERT ステートメントの実行プランにマージ結合操作が含まれています。
このシナリオでは、挿入操作は失敗可能性があります。さらに、次のエラー メッセージが表示されます。
エラー: 547、レベル: 16、状態: 0
INSERT ステートメントは、FOREIGN KEY 制約が競合しています"<foreign key="">"します<b00></b00></foreign>。
テーブルの"<database name="">"は、データベースでの競合が発生しました"<table name="">"、列 '<column name="">'</column></table></database>
原因
マージ結合操作は、結合列に従って並べ替え、行が表示されます期待しています。ただし、「現象」に記載されている状況では、マージ結合操作が挿入された行を正しい順序で受信しません。この問題は実行プランが結合列に対応する索引から新しい行を読み取るために発生します。ただし、インデックス キーの順序で順序を割り当ての代わりに SQL Server を読み取ります。
解決方法
最初に SQL Server 2005 Service Pack 3 用の累積的な更新 7 この問題に対する修正プログラムがリリースされました。この累積的な更新プログラム パッケージの詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
976951 SQL Server 2005 Service Pack 3 用の累積的な更新プログラム パッケージ 7
メモ ビルドは累積的であるため、新しい修正プログラム リリースすべての修正プログラムが含まれているし、以前の SQL Server 2005 に含まれていたすべてのセキュリティ修正プログラム リリースを修正します。マイクロソフトはこの修正プログラムを含む最新の修正プログラム リリースを適用を検討することをお勧めします。詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
960598 SQL Server 2005 Service Pack 3 のリリース後にリリースされた、SQL Server 2005 のビルドします。
Microsoft SQL Server 2005年の特定の SQL Server のサービス パック修正プログラムが作成されます。SQL Server 2005 Service Pack 3 のインストールに SQL Server 2005 Service Pack 3 修正プログラムを適用する必要があります。既定では、SQL Server サービス パックで提供されている修正プログラム SQL Server の次の service pack に含まれてです。
回避策
この問題を回避するには、次の方法のいずれかを使用します。

方法 1

マージ結合操作を無効にするのには、LOOP JOIN クエリ ヒントを適用します。

方法 2

スキャンは、インデックスのキー列の行を並べ替えるには、明示的な ORDER BY 句を追加します。
状況
マイクロソフトでは、この「対象」に記載されているマイクロソフト製品の問題として認識しています。
詳細
この修正プログラムを適用すると、インデックス キーの順序で読み取られます。
関連情報
SQL Server の増分サービス モデルの詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
935897報告された問題に対する修正プログラムを提供するのには、SQL Server チームの増分サービス モデルを利用します。
SQL Server 2005 Service Pack 3 の入手方法の詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
913089 SQL Server 2005 の最新の service pack を入手する方法
新しい機能および強化された SQL Server 2005 Service Pack 3 の詳細については、次のマイクロソフト Web サイトを参照してください。 SQL Server 更新プログラムの名前付けスキーマの詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
822499 Microsoft SQL Server のソフトウェア更新プログラム パッケージの新しい命名方式は
ソフトウェアの更新の用語の詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
824684 マイクロソフトのソフトウェア更新プログラムの説明に使用される一般的な用語の説明

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

プロパティ

文書番号:977100 - 最終更新日: 07/20/2011 12:27:00 - リビジョン: 4.0

  • kbfix kbqfe kbexpertiseadvanced kbmt kbsurveynew KB977100 KbMtja
フィードバック
rClickTracking = 1; var varCustomerTracking = 1; var Route = "76500"; var Ctrl = ""; document.write("