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

文書翻訳 文書翻訳
文書番号: 888998
# をバグ: 473085 (SQL Server 8.0)

すべて展開する | すべて折りたたむ

目次

資料の内容

概要

この資料で次をこの修正プログラムのリリースについて説明します。
  • この修正プログラムによって修正される問題パッケージ
  • この修正プログラムをインストールするための必要条件パッケージ
  • インストールした後、コンピューターを再起動する必要がありますかこの修正プログラム パッケージ
  • この修正プログラム パッケージが他の修正プログラムによって置き換えられますかどうかパッケージ
  • レジストリの変更が必要かどうか
  • この修正プログラムに含まれているファイルパッケージ

現象

Microsoft SQL Server 2000 に修正プログラム 8.00.0837 を作成しますまたは、。それ以降のバージョンで実行可能性があります。使用して、2 つのテーブルを結合するクエリを 等結合 には、 smalldatetime 列のデータ型します。は、 等結合 2 つのテーブルからの行を結合して結果セットを結合された列の値が等しい場合に追加、結合です。フィルター条件に、リテラルである場合これらの列のクエリに対して誤った結果を返します可能性があります。次に、クエリが影響を受けるクエリの例です。
declare @Date datetime
set @Date = '2005-01-01'

Select t1.c1, t2.c2 
from 
t1 Join t2 on t1.smalldatetime_column = t2.smalldatetime_column
Where 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 サイトを参照してください。
http://support.microsoft.com/contactus/?ws=support
メモ 「修正プログラムのダウンロード」フォームに修正プログラムが提供されている言語を表示します。お使いの言語が表示されない場合は、修正プログラムがその言語の利用できないためにです。

前提条件

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 @@version
go
 
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 datetime
set @Date = '2004-10-21'
 
Select t1.*, t2.*
from t1 join t2 
On t1.c1 = t2.c1
Where t1.c1 = @Date
go
 
drop table t1
drop table t2
go 
正しい結果は次の 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                                    ddd
2004-10-21 00:00:00                                    abc             2004-10-21 00:00:00                                    eee
2004-10-21 00:00:00                                    efg             2004-10-21 00:00:00                                    ddd
2004-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 - 最終更新日: 2011年7月18日 - リビジョン: 3.0
キーワード:?
kbbug kbfix kbqfe kbsqlserv2000presp4fix kbhotfixserver kbautohotfix kbmt KB888998 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:888998
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com