KB2938460 - 수정 사항: SQL Server 2014에서 기본적으로 컴파일된 저장 프로시저에서 날짜 부분(평일)을 사용하려고 하면 액세스 위반이 발생합니다.

적용 대상
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

증상

Microsoft SQL Server 2014를 사용한다고 가정합니다. 기본적으로 컴파일된 저장 프로시저에서 datepart(weekday)를 사용하려고 하면 액세스 위반이 발생하고 연결이 종료됩니다. 또한 다음과 같은 오류가 발생합니다.

참고

현재 명령에 심각한 오류가 발생했습니다. 결과가 있는 경우 해당 결과를 삭제해야 합니다.

원인

SQL Server 2014의 결함으로 인해 문제가 발생합니다.
datepart를 char 인수와 함께 사용하면 datetimeoffset으로의 암시적 변환이 발생합니다. 네이티브 저장 프로시저는 datetimeoffset을 지원하지 않습니다.

해결 방법

핫픽스가 적용되면 SQL Server는 기본 저장 프로시저의 경우 char 인수를 datetime2로, 일반 저장 프로시저 및 상수 접기의 경우 datetimeoffset으로 변환하는 새로운 논리를 도입하도록 변경합니다.
이 문제는 다음 SQL Server 누적 업데이트에서 처음 해결되었습니다.

2014년 SQL Server용 누적 업데이트 1 /en-us/help/2931693

SQL Server의 누적 업데이트 정보

SQL Server에 대한 각각의 새로운 누적 업데이트에는 이전 누적 업데이트에 포함된 모든 핫픽스와 모든 보안 수정 사항이 포함되어 있습니다. SQL Server에 대한 최신 누적 업데이트를 확인하세요.

      

해결 방법

이 문제를 해결하려면 지원되는 날짜/시간 유형으로 명시적으로 변환합니다.

상태

Microsoft에서 이는 "적용 대상" 섹션에 나열된 Microsoft 제품에서의 문제임을 확인했습니다.