FIX smalldatetime データ型の列には、2 つのテーブルを結合するクエリ SQL Server 2000年で誤った結果を生成可能性があります。

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

888998
この資料は、アーカイブされました。これは "現状のまま" で提供され、更新されることはありません。
# をバグ: 473085 (SQL Server 8.0)

概要
この資料で次をこの修正プログラムのリリースについて説明します。
  • この修正プログラムによって修正される問題パッケージ
  • この修正プログラムをインストールするための必要条件パッケージ
  • インストールした後、コンピューターを再起動する必要がありますかこの修正プログラム パッケージ
  • この修正プログラム パッケージが他の修正プログラムによって置き換えられますかどうかパッケージ
  • レジストリの変更が必要かどうか
  • この修正プログラムに含まれているファイルパッケージ
には、トップ
現象
Microsoft SQL Server 2000 に修正プログラム 8.00.0837 を作成しますまたは、。それ以降のバージョンで実行可能性があります。使用して、2 つのテーブルを結合するクエリを 等結合 には、 smalldatetime 列のデータ型します。は、 等結合 2 つのテーブルからの行を結合して結果セットを結合された列の値が等しい場合に追加、結合です。フィルター条件に、リテラルである場合これらの列のクエリに対して誤った結果を返します可能性があります。次に、クエリが影響を受けるクエリの例です。
declare @Date datetimeset @Date = '2005-01-01'Select t1.c1, t2.c2 from t1 Join t2 on t1.smalldatetime_column = t2.smalldatetime_columnWhere t1.smalldatetime_column = @Date
すべての一般にリリースされた SQL Server 2000年の一覧について3A post-Service パック修正プログラムは、マイクロソフトの次の資料を参照してください。ナレッジ ベース:
810185 SQL Server 2000年修正プログラムの更新SQL Server 2000 Service Pack 3 および 3 a
戻る最上部
原因
この問題クエリには、SQL Server 2000 修正プログラム ビルド 8.00.0837 を最適化するために発生します暗黙の述語値限りがあります。明示パラメーターを誤って smalldatetime の 4 バイト定数、8 の代わりに使用します。バイトの datetime 定数を正しく評価、比較のでが発生します。時間を実行します。

には、トップ
解決方法

修正プログラムの情報

サポートされている修正プログラムがマイクロソフトから入手可能です。ただし、この修正プログラムはこの資料に記載されている問題のみを修正するものです。この修正プログラムはこの問題が発生しているシステムにのみ適用されます。

この修正プログラムがダウンロードできないか場合は、この記事の上部に「修正プログラムのダウンロード」セクションです。このセクションが表示されない場合は、マイクロソフト カスタマー サービス & サポート修正プログラムを入手するのには、要求を送信します。

メモ その他の問題が発生した場合、またはトラブルシューティングが必要な場合は、別のサービス リクエストを作成する必要があります。追加の質問およびこの特定の修正プログラムの対象とならない問題については、通常のサポート料金が適用されます。一覧マイクロソフト カスタマー サービス & サポートの電話番号のまたは別のサービス リクエストを作成するには、次のマイクロソフト Web サイトを参照してください。 メモ 「修正プログラムのダウンロード」フォームに修正プログラムが提供されている言語を表示します。お使いの言語が表示されない場合は、修正プログラムがその言語の利用できないためにです。

先頭に戻る

前提条件

SQL Server 2000 Service Pack 3 をインストールする必要があります。 詳細については SQL Server 2000 Service Pack 3 の入手については、Knowledge Base の資料を参照するのには、次の資料番号をクリックする方法。
290211SQL Server 2000年の最新の service pack を入手する方法
また、この修正プログラムは、必要があります、ビルド 2000.80.977 SQL Server 2000年の修正プログラムがあるも。 ビルド 2000.80.977 を SQL Server 2000年投稿 SP3a 修正プログラムの詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックします。
888007SQL Server 2000 post-Service パック 3 修正プログラムをインストールしようとすると、「製品インストールの前提条件の更新はありません」のエラー メッセージが表示されます。

情報を再起動します。

これを適用すると、SQL Server サービスを再起動する必要があります。修正プログラムです。

には、トップ

修正プログラムのファイル情報

この修正プログラムには修正するために必要なファイルのみが含まれています。この資料に記載されている問題。この修正プログラムにはすべてのファイルが含まれていません完全、製品を最新のバージョンに更新する必要があります。作成します。

この修正プログラムの英語版がファイル属性 (またはそれ以降のファイル属性) が、次のとおり。日付および時刻これらのファイルを世界協定時刻 (UTC) が表示されます。ファイル情報を表示すると、ローカル時刻に変換します。UTC とローカル時刻との時差を確認するを使用して、 タイム ゾーン タブ コントロール パネルの日付と時刻ツールでします。
   Date         Time   Version        Size       File name   ----------------------------------------------------------   02-Nov-2004  06:02  2000.80.985.0    664,128  Autoplt.dll   02-Nov-2004  06:02  2000.80.985.0     78,400  Console.exe         02-Nov-2004  06:02  2000.80.985.0    332,352  Ctasksui.dll   02-Nov-2004  06:02  2000.80.985.0    315,968  Custtask.dll   02-Nov-2004  06:02  2000.80.985.0     33,340  Dbmslpcn.dll   02-Nov-2004  06:02  2000.80.985.0  1,905,216  Dtspkg.dll          02-Nov-2004  06:02  2000.80.985.0    528,960  Dtspump.dll   02-Nov-2004  06:02  2000.80.985.0     41,536  Dtsrun.exe   02-Nov-2004  06:02  2000.80.985.0  1,557,052  Dtsui.dll   02-Nov-2004  06:02  2000.80.985.0    639,552  Dtswiz.dll          02-Nov-2004  06:02  2000.80.985.0    352,828  Isqlw.exe           02-Nov-2004  06:02  2000.80.985.0     82,492  Itwiz.exe           02-Nov-2004  06:02  2000.80.985.0     90,692  Msgprox.dll         19-May-2004  23:43  8.11.40209.0     209,408  Mssdi98.dll         02-Nov-2004  06:02  2000.80.985.0     62,024  Odsole70.dll        02-Nov-2004  06:03  2000.80.985.0     25,144  Opends60.dll        02-Nov-2004  05:35                    17,576  Opends60.lib   02-Nov-2004  06:02  2000.80.985.0     57,904  Osql.exe   02-Nov-2004  06:02  2000.80.985.0    279,104  Pfutil80.dll        02-Nov-2004  06:02  2000.80.985.0    143,940  Qrdrsvc.exe         02-Nov-2004  06:02  2000.80.985.0    221,768  Replprov.dll        02-Nov-2004  06:03  2000.80.985.0    307,784  Replrec.dll         02-Nov-2004  06:03  2000.80.985.0    287,304  Rinitcom.dll        02-Nov-2004  06:03  2000.80.985.0     78,416  Sdiclnt.dll         02-Nov-2004  06:03  2000.80.985.0     66,112  Semmap.dll          02-Nov-2004  06:03  2000.80.985.0     57,916  Semnt.dll   02-Nov-2004  06:03  2000.80.985.0    492,096  Semobj.dll   02-Nov-2004  06:02  2000.80.985.0     53,832  Snapshot.exe   02-Nov-2004  06:01  2000.80.985.0     28,672  Sqlagent.dll   02-Nov-2004  06:02  2000.80.985.0    311,872  Sqlagent.exe   02-Nov-2004  06:01  2000.80.985.0    168,001  Sqlakw32.dll   02-Nov-2004  05:05                     4,352  Sqlakw32.lib   02-Nov-2004  06:03  2000.80.985.0     33,344  Sqlctr80.dll        02-Nov-2004  06:03  2000.80.985.0    815,676  Sqldata.dll         02-Nov-2004  06:03  2000.80.985.0  4,215,360  Sqldmo.dll          02-Nov-2004  06:02                    25,172  Sqldumper.exe       02-Nov-2004  06:02  2000.80.985.0    156,224  Sqlmaint.exe        02-Nov-2004  06:03  2000.80.985.0    180,792  Sqlmap70.dll        02-Nov-2004  06:03  2000.80.985.0    188,992  Sqlmmc.dll   02-Nov-2004  06:03  2000.80.985.0    401,984  Sqlqry.dll          02-Nov-2004  06:03  2000.80.985.0     57,920  Sqlrepss.dll        02-Nov-2004  06:03  2000.80.985.0  7,712,849  Sqlservr.exe        02-Nov-2004  06:03  2000.80.985.0    590,396  Sqlsort.dll         02-Nov-2004  06:03  2000.80.985.0     45,644  Sqlvdi.dll   02-Nov-2004  06:03  2000.80.985.0    106,588  Sqsrvres.dll   02-Nov-2004  06:03  2000.80.985.0     33,340  Ssmsgnet.dll        02-Nov-2004  06:03  2000.80.985.0     33,340  Ssmslpcn.dll        02-Nov-2004  06:03  2000.80.985.0     33,340  Ssmsqlgc.dll        02-Nov-2004  06:03  2000.80.985.0     33,340  Ssmssnet.dll        02-Nov-2004  06:03  2000.80.985.0     82,492  Ssnetlib.dll   02-Nov-2004  06:03  2000.80.985.0     25,148  Ssnmpn70.dll   02-Nov-2004  06:03  2000.80.985.0    123,456  Stardds.dll   02-Nov-2004  06:03  2000.80.985.0    158,240  Svrnetcn.dll        02-Nov-2004  06:02  2000.80.985.0     76,416  Svrnetcn.exe        02-Nov-2004  06:03  2000.80.985.0     49,228  Ums.dll             02-Nov-2004  06:03  2000.80.985.0     74,304  Xplog70.dll         02-Nov-2004  06:03  2000.80.985.0     98,872  Xpweb70.dll         17-Nov-2004  18:13                     6,615  Hotfix1.inf   17-Nov-2004  18:13                     2,471  Hotfix2.inf   30-Sep-2003  22:34  8.0.21213.0      352,256  Msvcr71.dll         30-Sep-2003  22:34  2000.80.796.0     57,904  Osql.exe   30-Sep-2003  22:34  2000.80.534.0    127,548  Sqdedev.dll         30-Sep-2003  22:34  2000.80.194.0    180,290  Sqlunirl.dll        02-Nov-2004  05:01  2000.80.985.0    159,813  Replres.rll   02-Nov-2004  05:28  2000.80.985.0    172,032  Semobj.rll   02-Nov-2004  04:53  2000.80.985.0     28,672  Sqlevn70.rll   02-Nov-2004  05:17  2000.80.985.0    479,232  Sqlmmc.rll
メモ ファイルの依存関係、最新の修正プログラムのためにこれらが含まれているファイルもその他のファイルを含む場合があります。には、トップ
回避策
この問題を回避するには発行すると、次の方法のいずれかを使用します。
  • 使用して、 キャスト キャスト関数は、 日付と時刻 列は、smalldate 定数。
  • 非クラスター化インデックスを作成、 smalldatetime 列です。
には、トップ
状況
マイクロソフトこれである、「対象製品」に記載されているマイクロソフト製品のバグセクションです。

には、トップ
詳細

現象の再現手順

Transact SQL どれ SQL Server 2000 に修正プログラムビルド 8.00.0837 およびそれ以降のバージョンが誤って 0 行を返します。
select @@versiongo Create Table t1 (      c1 SmallDateTime,      c2 varchar(15))go Create Table t2 (      c1 smalldatetime,      c2 Varchar(15))go Insert Into t1 Values ('2004-10-21','abc')Insert Into t1 Values ('2004-10-21','efg') Insert Into t2 Values ('2004-10-21', 'ddd') Insert Into t2 Values ('2004-10-21', 'eee')   declare @Date datetimeset @Date = '2004-10-21' Select t1.*, t2.*from t1 join t2 On t1.c1 = t2.c1Where t1.c1 = @Datego drop table t1drop table t2go 
正しい結果は次の 4 つの行です。SQL Server 2000年ホットフィックス ビルド 8.00.0760、.0818、実行し、.0836 を使用してビルドを作成するコンピューターにこれらの行が取得されます。
c1                                                     c2              c1                                                     c2              ------------------------------------------------------ --------------- ------------------------------------------------------ --------------- 2004-10-21 00:00:00                                    abc             2004-10-21 00:00:00                                    ddd2004-10-21 00:00:00                                    abc             2004-10-21 00:00:00                                    eee2004-10-21 00:00:00                                    efg             2004-10-21 00:00:00                                    ddd2004-10-21 00:00:00                                    efg             2004-10-21 00:00:00                                    eee
SQL Server 更新プログラムの名前付けスキーマの詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
822499新しい名前付けスキーマ マイクロソフトのSQL Server のソフトウェア更新プログラム パッケージ
リリース後のソフトウェア修正は、Microsoft を使用している用語の詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
824684説明するために使用される一般的な用語の説明マイクロソフトのソフトウェア更新プログラム
戻る最上部

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

プロパティ

文書番号:888998 - 最終更新日: 01/17/2015 09:20:14 - リビジョン: 3.0

  • kbnosurvey kbarchive kbbug kbfix kbqfe kbsqlserv2000presp4fix kbhotfixserver kbautohotfix kbmt KB888998 KbMtja
フィードバック