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

修正: SQL Server 2008 SQL Server 2008 R2 でも、挿入を選択 UNION ALL ステートメントを実行すると誤った結果

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

2530921

Microsoft Microsoft SQL Server 2008 Microsoft SQL Server 2008 R2 Service Pack 1 の修正プログラムを 1 つのダウンロード可能なファイルとして配布しています。修正プログラムは累積的であるため、各新しいリリースすべての修正プログラムが含まれているし、以前 SQL Server 2008 Service Pack 1 または SQL Server 2008 R2 に含まれていたすべてのセキュリティ修正プログラム リリースを修正します。
現象
実行すると、 すべて選択の共用体を挿入します。 ステートメントまたは SQL Server 2008 SQL Server 2008 R2 では、ステートメントの結果は正しくありませんが元のテーブルの場合、 選択 句の対象テーブルとして使用、 挿入 句です。

たとえば、4 つのテーブルを作成するのには、次のステートメントを実行します。
CREATE TABLE [TabA] (M VARCHAR(20), W VARCHAR(20)) CREATE TABLE [TabB] (M VARCHAR(20), W VARCHAR(20), R VARCHAR(20)) CREATE TABLE [TabC] (P VARCHAR(6), M CHAR(20), A NUMERIC(13)) CREATE TABLE [TabD] (P VARCHAR(6), W VARCHAR(20), M VARCHAR(20), D NUMERIC(13), E DATETIME, F DATETIME)
いくつかの値には、挿入、 TabA, TabB、、 TabD テーブル、し、次を実行します。 すべて選択の共用体を挿入します。 ステートメント:

INSERT INTO [TabC] (P, M, A)SELECT T1.P,T1.M,T1.D / SUM(1) OVER(PARTITION BY P) FROM [TabD] T1 INNER JOIN [TabA] T2 ON (T1.M = T2.M AND T1.W = T2.W) WHERE NOT EXISTS (SELECT * FROM [TabC] E1 WHERE T1.P = E1.P) UNION ALLSELECT T1.P,T2.M,T1.D / SUM(1) OVER(PARTITION BY P) FROM [TabD] T1 INNER JOIN [TabB] T2 ON (T1.M = T2.R AND T1.W = T2.W) WHERE NOT EXISTS (SELECT * FROM [TabC] E1 WHERE T1.P = E1.P) GO
このシナリオでは、誤った結果が表示され、レコードの一部が誤って挿入されますしない、 TabC テーブルです。

解決方法

累積的な更新プログラムの情報

SQL Server 2008 R2

この問題に対する修正は累積的な更新プログラム 9 で初めてリリースされました。SQL Server 2008 R2 でこの累積的な更新プログラム パッケージの入手方法の詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
2567713 累積的な更新プログラム パッケージ 9 SQL Server 2008年の R2 の
メモ ビルドは累積的であるため、各新しい修正プログラム リリースにはすべての修正プログラムが含まれています、以前の SQL Server 2008 R2 に含まれていたすべてのセキュリティ修正プログラム リリースを修正します。この修正プログラムを含む最新の修正プログラム リリースを適用を検討することをお勧めします。詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
981356 SQL Server 2008年の R2 SQL Server 2008年の R2 のリリース以降後にリリースされたビルドします。

SQL Server 2008年の R2 Service Pack 1

この問題に対する修正は SQL Server 2008 R2 Service Pack 1 の累積的な更新の 2 に初めてリリースされました。この累積的な更新プログラム パッケージの入手方法の詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
2567714 SQL Server 2008 R2 Service Pack 1 用の累積的な更新プログラム パッケージ 2
メモ ビルドは累積的であるため、各新しい修正プログラム リリースにはすべての修正プログラムが含まれています、以前の SQL Server 2008 R2 に含まれていたすべてのセキュリティ修正プログラム リリースを修正します。この修正プログラムを含む最新の修正プログラム リリースを適用を検討することをお勧めします。詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
2567616 SQL Server 2008年の R2 SQL Server 2008 R2 Service Pack 1 のリリース後にリリースされたビルドします。

SQL Server 2008 Service Pack 2

この問題に対する修正は SQL Server 2008 Service Pack 2 の累積的な更新 5 にまずリリースされました。この累積的な更新プログラム パッケージの詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
2555408 SQL Server 2008 Service Pack 2 用の累積的な更新プログラム パッケージ 5
メモ ビルドは累積的であるため、各新しい修正プログラム リリースにはすべての修正プログラムが含まれています、以前の SQL Server 2008 に含まれていたすべてのセキュリティ修正プログラム リリースを修正します。マイクロソフトはこの修正プログラムを含む最新の修正プログラム リリースを適用を検討することをお勧めします。詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
2402659 SQL Server の 2008 SQL Server 2008 Service Pack 2 のリリース以降後にリリースされたビルドします。
特定の SQL Server のサービス パックの Microsoft SQL Server 2008年の修正プログラムが作成されます。SQL Server 2008 Service Pack 2 のインストールには SQL Server 2008 Service Pack 2 修正プログラムを適用する必要があります。既定では、SQL Server サービス パックで提供されている修正プログラム SQL Server の次の service pack に含まれてです。

SQL Server 2008年サービス パック 1 累積的な更新 14

この問題に対する修正は、SQL Server 2008 Service Pack 1 用の累積的な更新 14 で最初リリースされました。この累積的な更新プログラム パッケージの詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
2527187 SQL Server 2008 Service Pack 1 用の累積的な更新プログラム パッケージ 14
メモ ビルドは累積的であるため、各新しい修正プログラム リリースにはすべての修正プログラムが含まれています、以前の SQL Server 2008 に含まれていたすべてのセキュリティ修正プログラム リリースを修正します。マイクロソフトはこの修正プログラムを含む最新の修正プログラム リリースを適用を検討することをお勧めします。詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
970365 SQL Server の 2008 SQL Server 2008 Service Pack 1 のリリース後にリリースされたビルドします。
Microsoft SQL Server 2008 SQL Server サービス ・ パックの特定の修正プログラムが作成されます。SQL Server 2008 Service Pack 1 をインストールする SQL Server 2008 Service Pack 1 の修正プログラムを適用する必要があります。既定では、SQL Server サービス パックで提供されている修正プログラム SQL Server の次の service pack に含まれてです。
状況
マイクロソフトでは、この「対象」に記載されているマイクロソフト製品の問題として認識しています。

警告: この資料は、自動翻訳されています

プロパティ

文書番号:2530921 - 最終更新日: 08/15/2011 18:31:00 - リビジョン: 4.0

  • kbfix kbqfe kbexpertiseadvanced kbmt kbsurveynew KB2530921 KbMtja
フィードバック