적용 대상
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2012 Enterprise SQL Server 2012 Developer SQL Server 2012 Express SQL Server 2012 Standard SQL Server 2012 Web SQL Server 2012 Business Intelligence SQL Server 2012 Analysis Services SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard

증상

다음과 같은 경우를 생각해 볼 수 있습니다.

  • Microsoft SQL Server 2014 또는 SQL Server 2012에서 프로시저를 실행 합니다.

  • 이 프로시저에는 다음과 같은 조건을 가진 쿼리가 포함 됩니다.

    • 자주 업데이트 되는 테이블을 조인 합니다.

    • 매개 변수를 포함 하는 WHERE 절이 있습니다.

    • 옵션 (재컴파일)을 사용 합니다.

  • 이 절차는 서로 다른 매개 변수 값 집합을 갖는 여러 동시 연결에서 실행 됩니다.

  • 서버는 이러한 각 절차가 평소 보다 더 많은 시간을 초래 하는 과도 한 부하가 적용 됩니다.

이 시나리오에서는 쿼리 컴파일 끝과 연결의 쿼리 실행 시작 사이에 발생 하는 시간 간격 동안 다음 추가 조건을 충족 하는 경우 연결에 대해 실행 되는 프로시저에서 잘못 된 결과가 나타날 수 있습니다.

  • 조건 1: 다른 동시 연결에서는 연결 된 테이블에 대 한 업데이트를 수행 하 고, 조인 된 쿼리의 다른 재컴파일 작업을 트리거할 수 있습니다.

  • 조건 2: 다른 연결에서 동일한 쿼리를 다시 컴파일한 다음 캐시에 넣습니다.

중요 이 타이밍 문제는 매우 드뭅니다.

원인

이 문제는 연결에서 쿼리를 실행 한 후 쿼리의 매개 변수 값이 잘못 된 값으로 변경 되었기 때문에 발생 합니다. 이는 동시 컴파일 간에 발생 하는 매우 드문 타이밍 문제 때문입니다.

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

상태

Microsoft는 "적용 대상" 절에 나열한 제품에서 이 문제를 확인했습니다.

도움이 더 필요하세요?

더 많은 옵션을 원하세요?

구독 혜택을 살펴보고, 교육 과정을 찾아보고, 디바이스를 보호하는 방법 등을 알아봅니다.