최적화 프로그램 힌트 NOLOCK을 사용 하 여 쿼리를 실행 하거나 트랜잭션 격리 수준을 설정 하 여 SQL Server에서 커밋되지 않은 내용을 읽을 때 "오류 605" 오류 메시지가 표시 되는 경우


요약


최적화 프로그램 힌트 NOLOCK을 사용 하 여 쿼리를 실행 하거나 커밋되지 않은 읽기를 위해 트랜잭션 격리 수준을 설정 하면 일시적인 605 오류 메시지가 생성 될 수 있습니다.

추가 정보


일반적으로 다른 사용자 또는 프로세스로 변경 되는 데이터에 대 한 액세스는 데이터에 대 한 잠금으로 인해 거부 됩니다. 그러나 NOLOCK 및 READ 커밋되지 않은 명령을 사용 하면 쿼리를 통해 다른 사용자가 잠근 데이터를 읽을 수 있습니다. 이는 아직 커밋하지 않은 값을 읽을 수 있고 변경이 적용 되기 때문에 더티 읽은 것으로 간주 됩니다. NOLOCK 또는 커밋되지 않은 읽기를 사용 하는 쿼리가 다른 사용자에 의해 이동 또는 변경 되는 데이터 읽기를 시도 하면 605 오류가 발생 합니다. 더티 읽기 작업 중 발생 하는 605 오류의 심각도 수준은 커밋된 데이터를 읽을 때 심각도가 21 개에 대 한 12를 비교 하는 것입니다. 심각도 수준이 12 인 605 오류가 발생 하는 경우 일시적인 605 오류 이며, 데이터베이스 일관성 문제를 나타내지 않는 것일 수 있습니다. 일시적인 605 오류 인지 확인 하려면 나중에 쿼리를 다시 실행 합니다. 오류가 계속 되 면 NOLOCK 힌트를 제거 하거나 트랜잭션 격리 수준을 설정 하 여 COMMIT을 읽고 605 심각도 수준 21이 발생 하지 않는지 확인 합니다. 605 수준 21 오류는 데이터베이스가 손상 되었을 수 있음을 나타냅니다. 605 수준 21 오류가 발생 하는 경우 자세한 내용은 SQL Server 온라인 설명서를 참조 하 고 주 지원 공급자에 게 문의 하 여 도움을 받으세요.