FIX: smalldatetime 데이터 형식 열이 있는 두 테이블을 조인하는 쿼리 SQL Server 2000에서 잘못된 결과가 발생할 수 있습니다.

기술 자료 번역 기술 자료 번역
기술 자료: 888998 - 이 문서가 적용되는 제품 보기.
# 버그: 473085 (SQL Server 8.0)

모두 확대 | 모두 축소

이 페이지에서

문서 내용

요약

이 문서에서는 다음을 이 핫픽스 릴리스에 대한 설명입니다.
  • 이 핫픽스 패키지에서 해결된 문제
  • 핫픽스 패키지 설치를 위한 전제 조건
  • 핫픽스 패키지 설치 후 컴퓨터를 다시 시작해야 하는지 여부
  • 핫픽스 패키지가 다른 핫픽스 패키지에 대체됩니다 여부를
  • 사용하면 모든 레지스트리를 변경해야 하는지 여부
  • 핫픽스 패키지에 포함된 파일

현상

Microsoft SQL Server 2000에서 핫픽스 빌드 8.00.0837 또는 이후 버전 equijoinsmalldatetime 데이터 형식 열을 사용하여 두 테이블을 조인하는 쿼리를 실행할 수 있습니다. equijoin 두 테이블의 행이 결합되고 결과 집합이 조인된 열을 동일한 값이 있는 경우 추가되는 조인입니다. 쿼리 필터 조건을 가진 리터럴 이러한 열 중 하나에 경우 잘못된 결과를 반환할 수 있습니다. 다음 쿼리의 영향을 받는 쿼리 예입니다:
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 핫픽스 목록에 대한 Microsoft 기술 자료의 다음 문서를 참조하십시오:
810185SQL Server 2000 서비스 팩 3 및 3a SQL Server 2000 핫픽스 업데이트

원인

이 문제는 8.00.0837 가능하면에 대한 묵시적된 조건자 값을 포함하도록 쿼리를 최적화하는 SQL Server 2000 핫픽스 빌드 때문에 발생합니다. 암시적된 매개 변수 대신 8 바이트 datetime 상수를 4 바이트 smalldatetime 상수를 잘못 사용하기 때문에 잘못된 평가 비교 런타임에 발생합니다.

해결 방법

핫픽스 정보

Microsoft에서 제공하는 핫픽스를 사용할 수 있습니다. 그러나 이 핫픽스는 이 문서에서 설명된 문제만 해결할 수 있습니다. 이 문서에 설명된 특정 문제가 발생한 시스템에만 이 핫픽스를 적용하십시오.

다운로드할 핫픽스가 있는 경우, 이 기술 자료 문서의 맨 위에 "사용 가능한 핫픽스 다운로드" 링크가 있습니다. 이 섹션이 표시되지 않으면 핫픽스를 구하려면 Microsoft 고객 서비스 및 지원 요청을 제출하십시오.

참고 추가적인 문제가 발생할 경우 또는 모든 문제 해결에 필요한 경우 별도의 서비스 요청을 만들어야 할 수도 있습니다. 핫픽스에 적용되지 않는 추가 지원 질문과 문제에는 일반 지원 비용이 적용됩니다. Microsoft 고객 서비스 지원 전화 번호 전체 목록 또는 별도의 서비스 요청을 만들려면 다음 Microsoft 웹 사이트로 이동하십시오:
http://support.microsoft.com/contactus/?ws=support
참고 "핫픽스 다운로드 가능" 형식에는 핫픽스를 사용할 수 있는 언어가 표시됩니다. 사용자 언어가 표시되지 않으면 해당 언어의 핫픽스를 사용할 수 없습니다 때문입니다.

전제 조건

SQL Server 2000 서비스 팩 3을 설치해야 합니다. 대한 자세한 내용은 SQL Server 2000 서비스 팩 3 구하는 방법에 Microsoft 기술 자료의 다음 문서를 참조하십시오.
290211최신 SQL Server 2000 서비스 팩을 구하는 방법
또한 이 핫픽스는 또한 SQL Server 2000 핫픽스 빌드 2000.80.977 설치되어 있어야 합니다. SQL Server 2000 게시 SP3a를 핫픽스에 대한 자세한 내용은 2000.80.977 빌드, Microsoft 기술 자료의 다음 문서를 참조하십시오.
888007SQL Server 2000 서비스 팩 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 상수 datetime 열을 캐스팅할 수 있습니다.
  • smalldatetime 열에 클러스터되지 않은 인덱스를 만듭니다.

현재 상태

Microsoft는 "본 문서의 정보는 다음의 제품에 적용됩니다." 절에 나열된 제품에서 이 문제를 확인했습니다.

추가 정보

Windows Mobile 기반 스마트폰에 GPRS 연결이 구성되어 있는지 확인합니다

8.00.0837 핫픽스 사용하여 다음 Transact-SQL 문을 SQL Server 2000 빌드 및 이후 버전에서는 잘못 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 
다음 네 개의 행이 있는 올바른 결과가. 핫픽스를 사용하여 빌드 8.00.0760,.0818, SQL Server 2000을 실행하는 컴퓨터에서 이러한 행을 가져올 및.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 업데이트를 명명 스키마에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
822499새 명명 스키마에 Microsoft SQL Server 소프트웨어 업데이트 패키지에 대한
출시 이후에 소프트웨어를 수정할 때 Microsoft에서 사용하는 용어에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
824684Microsoft 소프트웨어 업데이트를 설명하는 데 사용되는 표준 용어에 대한 설명

속성

기술 자료: 888998 - 마지막 검토: 2007년 11월 2일 금요일 - 수정: 1.5
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft SQL Server 2000 Desktop Engine (MSDE) SP3
  • Microsoft SQL Server 2000 서비스 팩 3
  • Microsoft SQL Server 2000 Personal Edition Service Pack 3
  • Microsoft SQL Server 2000 서비스 팩 3
  • Microsoft SQL Server 2000 서비스 팩 3
키워드:?
kbmt kbautohotfix kbsqlserv2000presp4fix kbbug kbfix kbhotfixserver kbqfe KB888998 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

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