안녕하세요, sql server를 사용하고 있는 개발자 입니다.

sql server에서 이상한 증상이 발견되어, 혹시 버그는 아닌가 해서 문의 드립니다.

여러 단계의 프로세스 중, 먼저 select한 getdate()보다 나중에 select한 getdate()가 더 과거의 값이 select되는 증상을 발견하였습니다.

이를 테스트 하기 위해 별도의 쿼리를 작성하여 테스트를 해보니, 동일한 증상이 많이 나타납니다.

혹시, 연속으로 getdate()를 여러번 진행할 경우에 그런 증상이 나타날 수 있는 것인지요?

datetime형식의 경우 .000, .003 또는 .007초 단위로 반올림 되는 사항과 연관이 있나 싶었지만,

그 문제는 아닌것 같고, 반올림 여부와 상관없이 오류가 있는 듯 합니다.

실제 소스는 아래와 같은 패턴이며 테스트 쿼리는 따로 작성했습니다.

실제 소스 패턴

1. set @변수1 = getdate()

2. 필요한 프로세스 처리

3. set @변수2 = getdate()

4. 필요한 프로세스 처리

5. @변수1과 @변수2와 관련한 처리 시 오동작(if문이나 where문에서 사용)

GETDATE()의 오동작 테스트 쿼리

SET NOCOUNT ON;

DECLARE @loopCount INT
, @loopMaxCount INT
, @beforeDatetime DATETIME
, @currentDatetime DATETIME

SET @loopCount = 1
SET @loopMaxCount = 100000000
SET @beforeDatetime = GETDATE()


WHILE @loopCount <= @loopMaxCount
BEGIN
SET @currentDatetime = GETDATE()

IF @beforeDatetime>@currentDatetime
BEGIN
SELECT @loopCount AS 'No', @beforeDatetime AS 'beforeDatetime', @currentDatetime AS 'currentDatetime'
END

SET @beforeDatetime = @currentDatetime

SET @loopCount  = @loopCount + 1
END

증상은 2005, 2014에서 나타나는것을 확인했지만, 모든 버전에서 확인하기가 힘들기 때문에 문의 드립니다.

또한, 위 쿼리로 테스트 시 증상이 무조건 나오는 것도 아니고 나왔다 안나왔다 혹은 조금 나왔다 많이 나왔다 합니다.

위 증상에 대해서 확인이 가능했으면 좋겠습니다.


No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 20077
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 12120
9038 날짜변환 쿼리 도움요청좀ㅠ [5] khaluamilk 2015.12.08 2451
9037 AlwaysOn 구성한 후 Failover 시에 Secondary Server의 Agent Job 활성화 처리 [4] 어름알음얼음 2015.12.07 2599
9036 크리스탈리포트 출력물 sql [1] 마힐링 2015.12.07 5542
9035 SQL 서버의 보안과 Bit Locker [5] 조형근 2015.12.04 2744
9034 데이터 중복값중 1개만 남기고 삭제할수 있는 방법이~? [2] 동동동 2015.12.03 2621
9033 SELECT 문 질문 하겠습니다.(수정분) [6] 백마탄나 2015.12.03 2413
9032 SELECT 문 질문 하겠습니다. [3] 백마탄나 2015.12.03 2816
» SQL Server GETDATE() 버그인것인지 문의 [4] Jaden 2015.12.01 2599
9030 트랜잭션 교착상태 [2] leesoek 2015.11.30 2761
9029 두 테이블 조인 시 B 테이블의 여러 레코드 중 1개만 조인 시킬 때 [2] Larry 2015.11.30 4443
9028 중국어(한자) ? 로 업데이트 되는 문제 ㅠ [6] 더따뜻한 2015.11.27 3133
9027 한글 포함 컬럼인지의 여부 체크 [2] 더따뜻한 2015.11.26 4798
9026 SQL 쿼리문 질문 하나 하겠습니다. [9] 백마탄나 2015.11.26 3215
9025 sys 시스템 테이블 조회 안되게 하는 방법 [1] 한인 2015.11.25 2148
9024 한컬럼에 다른테이블 연관 레코드에 표시하기 [4] 김민식_279245 2015.11.25 2272
9023 공유잠금 관련 쿼리 질문있습니다. [2] 쵸보 2015.11.24 1971
9022 평균시간 구하는방법 [1] pobiblue 2015.11.23 4052
9021 오래된 데이터 삭제 시점과 백업 [1] embster 2015.11.23 2750
9020 Tempdb에 대한 질문입니다. [2] 희망나라 2015.11.20 2643
9019 여러 사용자 계정을 생성하려고 합니다. [2] 더따뜻한 2015.11.19 2434





XE Login