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

FIX リンク サーバーで SQL Server 2005 または 2008 年の SQL Server で使用されている場合は、SELECT ステートメントは、誤った結果セットを返します

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

英語版 KB:975417
Microsoft Microsoft SQL Server 2005年修正プログラム 1 つのダウンロード ファイルとして配布しています。修正プログラムは累積的であるため、各新しいリリースすべての修正プログラムが含まれているし、以前の SQL Server 2005 に含まれていたすべてのセキュリティ修正プログラム リリースを修正します。Microsoft Microsoft SQL Server 2008年の修正プログラム 1 つのダウンロード ファイルとして配布しています。修正プログラムは累積的であるため、各新しいリリースにはすべての修正プログラムが含まれています、以前の SQL Server 2008 に含まれていたすべてのセキュリティ修正プログラム リリースを修正します。
現象
Microsoft SQL Server 2005年または 2008 の Microsoft SQL Server では、実行します。 選択 リンク サーバーのデータ ソースとは、不正な結果セットを使用してテーブル間でのステートメントが返されます。
解決方法

SQL Server 2005 Service Pack 3

この問題に対する修正は SQL Server 2005 Service Pack 3 用の累積的な更新 6 で初めてリリースされました。この累積的な更新プログラム パッケージの詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
974648 SQL Server 2005 Service Pack 3 用の累積的な更新プログラム パッケージ 6
メモ ビルドは累積的であるため、新しい修正プログラム リリースすべての修正プログラムが含まれているし、以前の 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 に含まれてです。

SQL Server 2008年のリリース バージョン

重要です SQL Server 2008年のリリース バージョン実行している場合は、この修正プログラムをインストールする必要があります。

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

SQL Server 2008 Service Pack 1

重要です SQL Server 2008 Service Pack 1 を実行している場合は、この修正プログラムをインストールする必要があります。

この問題に対する修正は SQL Server 2008 Service Pack 1 用の累積的な更新 5 にまずリリースされました。この累積的な更新プログラム パッケージの詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
975977 SQL Server 2008 Service Pack 1 用の累積的な更新プログラム パッケージ 5
メモ ビルドは累積的であるため、各新しい修正プログラム リリースにはすべての修正プログラムが含まれています、以前の 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 に含まれてです。
状況
マイクロソフトでは、この「対象」に記載されているマイクロソフト製品の問題として認識しています。
詳細

問題の再現手順

この問題を再現するのには、次のサンプルのステートメントを使用できます。
-- create sample database--create database testgouse testgo---- create sample table--if exists (select * from sys.objects where object_id = OBJECT_ID('T1'))drop table T1create table T1 (ID int primary key, CODE_AB char(2) not null,CATEGORY char(1) not null default ('0')) if exists (select * from sys.objects where object_id = OBJECT_ID('M1'))drop table M1create table M1 (CODE_AB char(2) primary key,[NAME] varchar(20) not null ) insert into T1 (ID, CODE_AB) values ( 1, '66') insert into T1 (ID, CODE_AB) values ( 2, '66') insert into T1 (ID, CODE_AB) values ( 3, '77')insert into T1 (ID, CODE_AB) values ( 4, '55') insert into T1 (ID, CODE_AB) values ( 5, '88') insert into T1 (ID, CODE_AB) values ( 6, '88') insert into T1 (ID, CODE_AB) values ( 7, '77') insert into T1 (ID, CODE_AB) values ( 8, '66') insert into T1 (ID, CODE_AB) values ( 9, '77') insert into T1 (ID, CODE_AB) values ( 10, '66') insert into T1 (ID, CODE_AB) values ( 11, '66') insert into T1 (ID, CODE_AB) values ( 12, '88') insert into T1 (ID, CODE_AB) values ( 13, '88') insert into T1 (ID, CODE_AB) values ( 14, '88') insert into T1 (ID, CODE_AB) values ( 15, '22') insert into T1 (ID, CODE_AB) values ( 16, '88') insert into T1 (ID, CODE_AB) values ( 17, '88') insert into T1 (ID, CODE_AB) values ( 18, '88') insert into T1 (ID, CODE_AB) values ( 19, '44') insert into T1 (ID, CODE_AB) values ( 20, '88') insert into T1 (ID, CODE_AB) values ( 21, '66') insert into T1 (ID, CODE_AB) values ( 22, '66') insert into T1 (ID, CODE_AB) values ( 23, '77') insert into T1 (ID, CODE_AB) values ( 24, '77') insert into T1 (ID, CODE_AB) values ( 25, '77') insert into T1 (ID, CODE_AB) values ( 26, '66') insert into T1 (ID, CODE_AB) values ( 27, '66') insert into T1 (ID, CODE_AB) values ( 28, '66') insert into T1 (ID, CODE_AB) values ( 29, '44') insert into T1 (ID, CODE_AB) values ( 30, '77') insert into T1 (ID, CODE_AB) values ( 31, '44') insert into T1 (ID, CODE_AB) values ( 32, '66') insert into T1 (ID, CODE_AB) values ( 33, '88') insert into T1 (ID, CODE_AB) values ( 34, '88') insert into T1 (ID, CODE_AB) values ( 35, '66') insert into T1 (ID, CODE_AB) values ( 36, '66') insert into T1 (ID, CODE_AB) values ( 37, '77') insert into T1 (ID, CODE_AB) values ( 38, '77') insert into T1 (ID, CODE_AB) values ( 39, '77') insert into T1 (ID, CODE_AB) values ( 40, '44') insert into T1 (ID, CODE_AB) values ( 41, '77') insert into T1 (ID, CODE_AB) values ( 42, '77') insert into T1 (ID, CODE_AB) values ( 43, '66') insert into T1 (ID, CODE_AB) values ( 44, '66') insert into T1 (ID, CODE_AB) values ( 45, '77') insert into T1 (ID, CODE_AB) values ( 46, '44') insert into T1 (ID, CODE_AB) values ( 47, '66') insert into T1 (ID, CODE_AB) values ( 48, '66') insert into T1 (ID, CODE_AB) values ( 49, '66') insert into T1 (ID, CODE_AB) values ( 50, '88') insert into T1 (ID, CODE_AB) values ( 51, '66') insert into T1 (ID, CODE_AB) values ( 52, '44') insert into T1 (ID, CODE_AB) values ( 53, '88') insert into T1 (ID, CODE_AB) values ( 54, '88') insert into T1 (ID, CODE_AB) values ( 55, '88') insert into T1 (ID, CODE_AB) values ( 56, '88') insert into T1 (ID, CODE_AB) values ( 57, '22') insert into T1 (ID, CODE_AB) values ( 58, '88') insert into T1 (ID, CODE_AB) values ( 59, '11') insert into T1 (ID, CODE_AB) values ( 60, '11') insert into T1 (ID, CODE_AB) values ( 61, '11') insert into T1 (ID, CODE_AB) values ( 62, '88') insert into T1 (ID, CODE_AB) values ( 63, '77') insert into T1 (ID, CODE_AB) values ( 64, '77') insert into T1 (ID, CODE_AB) values ( 65, '66') insert into T1 (ID, CODE_AB) values ( 66, '77') insert into T1 (ID, CODE_AB) values ( 67, '77') insert into T1 (ID, CODE_AB) values ( 68, '77') insert into T1 (ID, CODE_AB) values ( 69, '33') insert into T1 (ID, CODE_AB) values ( 70, '33') insert into T1 (ID, CODE_AB) values ( 71, '66') insert into T1 (ID, CODE_AB) values ( 72, '66') insert into T1 (ID, CODE_AB) values ( 73, '66') insert into T1 (ID, CODE_AB) values ( 74, '11') insert into T1 (ID, CODE_AB) values ( 75, '77') insert into T1 (ID, CODE_AB) values ( 76, '11') insert into T1 (ID, CODE_AB) values ( 77, '66') insert into T1 (ID, CODE_AB) values ( 78, '66') insert into T1 (ID, CODE_AB) values ( 79, '66') insert into T1 (ID, CODE_AB) values ( 80, '66') insert into T1 (ID, CODE_AB) values ( 81, '66') insert into T1 (ID, CODE_AB) values ( 82, '66') insert into T1 (ID, CODE_AB) values ( 83, '66') insert into T1 (ID, CODE_AB) values ( 84, '66') insert into T1 (ID, CODE_AB) values ( 85, '66') insert into T1 (ID, CODE_AB) values ( 86, '66') insert into T1 (ID, CODE_AB) values ( 87, '77') insert into T1 (ID, CODE_AB) values ( 88, '77') insert into T1 (ID, CODE_AB) values ( 89, '66') insert into T1 (ID, CODE_AB) values ( 90, '11') insert into T1 (ID, CODE_AB) values ( 91, '88') insert into T1 (ID, CODE_AB) values ( 92, '88') insert into T1 (ID, CODE_AB) values ( 93, '44') insert into T1 (ID, CODE_AB) values ( 94, '66') insert into T1 (ID, CODE_AB) values ( 95, '77') insert into T1 (ID, CODE_AB) values ( 96, '44') insert into T1 (ID, CODE_AB) values ( 97, '77') insert into T1 (ID, CODE_AB) values ( 98, '77') insert into T1 (ID, CODE_AB) values ( 99, '88') insert into T1 (ID, CODE_AB) values (100, '88') insert into T1 (ID, CODE_AB) values (101, '88') insert into T1 (ID, CODE_AB) values (102, '77') insert into T1 (ID, CODE_AB) values (103, '66') insert into T1 (ID, CODE_AB) values (104, '77') insert into M1 values ('66', 'F') insert into M1 values ('77', 'G') if exists (select srv.name from sys.servers srv where srv.name = '127.0.0.1')exec sp_dropserver @server = '127.0.0.1', @droplogins = 'droplogins'exec sp_addlinkedserver @server = '127.0.0.1', @srvproduct = 'SQL Server'exec sp_addlinkedsrvlogin @rmtsrvname = '127.0.0.1', @useself = 'True', @locallogin = NULL, @rmtuser = NULL, @rmtpassword = NULLgo---- compare results. ---- 1. select local tables. -> expect a correct result.select *from (select ID,CODE_AB,CODE_A = case when CATEGORY = '0' then substring(T1.CODE_AB, 1, 1) end,CODE_B = case when CATEGORY = '0' then substring(T1.CODE_AB, 2, 1) end,CODE_NAME = case when CATEGORY = '0' then (selectM1.CODE_AB + ' ' + M1.[NAME]from M1 where M1.CODE_AB = T1.CODE_AB) endfrom T1) as TEMPwhere CODE_A = '7' and CODE_B = '7'-- 2. select tables via linked server. -> expect a wrong result.select *from (select ID,CODE_AB,CODE_A = case when CATEGORY = '0' then substring(T1.CODE_AB, 1, 1) end,CODE_B = case when CATEGORY = '0' then substring(T1.CODE_AB, 2, 1) end,CODE_NAME = case when CATEGORY = '0' then (selectM1.CODE_AB + ' ' + M1.[NAME]from [127.0.0.1].test.dbo.M1 as M1 where M1.CODE_AB = T1.CODE_AB) endfrom [127.0.0.1].test.dbo.T1 as T1) as TEMPwhere CODE_A = '7' and CODE_B = '7' --order by CODE_AB -- if we use this the correct result will return.go---- drop linked server, drop sample database.--/*if exists (select srv.name from sys.servers srv where srv.name = '127.0.0.1')exec sp_dropserver @server = '127.0.0.1', @droplogins = 'droplogins'use mastergoif exists (select * from sys.databases where name = 'TEST')drop database test*/
関連情報
SQL Server の増分サービス モデルの詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
935897報告された問題に対する修正プログラムを提供するのには、SQL Server チームの増分サービス モデルを利用します。
詳細については SQL Server 2005 Service Pack 3 の入手については、Knowledge Base の資料を参照するのには、次の資料番号をクリックする方法。
913089SQL Server 2005 の最新の service pack を入手する方法
SQL Server 2005 Service Pack 3 (SP3) での新機能および機能強化では、SQL Server 2005 SP3 の詳細については、次のマイクロソフト Web サイトを参照してください。SQL Server 更新プログラムの名前付けスキーマの詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
822499Microsoft SQL Server のソフトウェア更新プログラム パッケージの新しい命名方式は
ソフトウェアの更新の用語の詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
824684 マイクロソフトのソフトウェア更新プログラムの説明に使用される一般的な用語の説明
リンク サーバーの不適切な結果

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

プロパティ

文書番号:975417 - 最終更新日: 07/20/2011 12:24:00 - リビジョン: 3.0

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