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

증상

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

  • Microsoft SQL Server 2012 또는 SQL Server 2014에서 스냅숏 격리 또는 Read Committed 스냅숏 격리 수준을 사용 하는 데이터베이스가 있는 경우

  • 데이터베이스에 여러 열의 클러스터형 인덱스가 있는 비어 있지 않은 테이블이 포함 되어 있습니다. 클러스터형 인덱스의 선행 키가 NULL이 아닌값으로 설정 되어 있습니다.

  • 트랜잭션을 시작 하 고 테이블에 열을 추가 합니다. 이 열의 값이 업데이트 됩니다.

  • NULL 값을 허용 하도록 클러스터형 인덱스의 선행 키를 변경 합니다.

  • 클러스터형 인덱스의 선행 키에 대해 NULL 값이 있는 행을 삽입 한 다음 트랜잭션을 중단 합니다.

이 시나리오에서 롤백은 데이터베이스는 "복구 가능"으로 의심 되 고 DBCC CHECKDB REPAIR_ALLOW_DATA_LOSS 명령으로 발생 합니다. 또한 다음과 같은 오류 메시지가 나타날 수 있습니다.

메시지 3316, 수준 21, 상태 2, 데이터베이스 ' %1! '에 기록 된 작업을 실행 취소 하는 동안 줄 135 로그 레코드 ID% S_LSN에 오류가 발생 했습니다. 행을 찾을 수 없습니다. 전체 백업에서 데이터베이스를 복원 하거나 데이터베이스를 복구 합니다.

해결 방법

SQL Server 2014에 대 한 서비스 팩 정보

이 문제를 해결 하려면 SQL Server 2014에 대 한 서비스 팩 1을 구합니다.

SQL Server 2014 SP1(서비스 팩 1)에 대 한 자세한 내용은 Sql server 2014 서비스 팩 1에서 해결 된 버그를 참조 하세요.

SQL Server 2012에 대 한 서비스 팩 정보

이 문제를 해결 하려면 Microsoft SQL Server 2012의 최신 서비스 팩을 다운로드 하세요. 자세한 내용은 다음 문서 번호를 클릭 하 여 Microsoft 기술 자료 문서를 참조 하세요.

2755533 SQL Server 2012의 최신 서비스 팩을 구하는 방법

상태

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

도움이 더 필요하세요?

더 많은 옵션을 원하세요?

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