MSSQLSERVER_601MSSQLSERVER_601

이 항목 적용 대상: 예SQL Server없습니다Azure SQL 데이터베이스없습니다Azure SQL 데이터 웨어하우스 없습니다 병렬 데이터 웨어하우스THIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

세부 정보Details

제품 이름Product Name SQL ServerSQL Server
이벤트 IDEvent ID 601601
이벤트 원본Event Source MSSQLSERVERMSSQLSERVER
구성 요소Component SQLEngineSQLEngine
심볼 이름Symbolic Name
메시지 텍스트Message Text 데이터 이동으로 인해 NOLOCK으로 계속 검색할 수 없습니다.Could not continue scan with NOLOCK due to data movement.

설명Explanation

SQL Server 데이터베이스 엔진SQL Server Database Engine이 다른 트랜잭션에 의해 업데이트 또는 삭제된 데이터를 읽으려 하므로 쿼리를 계속 실행할 수 없습니다.The SQL Server 데이터베이스 엔진SQL Server Database Engine cannot continue executing the query because it is trying to read data that was updated or deleted by another transaction. 쿼리에서 NOLOCK 잠금 힌트나 READ UNCOMMITTED 트랜잭션 격리 수준 중 하나를 사용하고 있습니다.The query is using either the NOLOCK locking hint or the READ UNCOMMITTED transaction isolation level.

일반적으로 다른 트랜잭션에 의해 변경된 데이터에 대한 액세스는 해당 데이터에 설정된 잠금으로 인해 거부됩니다.Typically, access to data that is being changed by another transaction is denied because of locks put on the data. 그러나 NOLOCK 잠금 힌트 및 READ UNCOMMITTED 트랜잭션 격리 수준을 사용하면 다른 트랜잭션에 의해 잠긴 데이터를 쿼리가 읽을 수 있게 됩니다.However, the NOLOCK locking hint and READ UNCOMMITTED transaction isolation level let a query read data that is locked by another transaction. 아직 커밋되지 않아 변경될 수 있는 값을 읽을 수 있으므로 이를 커밋되지 않은 읽기라고 합니다.This is referred to as a dirty read because you can read values that have not yet been committed and that are subject to change.

사용자 동작User Action

이 오류가 발생하면 쿼리가 취소됩니다.This error cancels the query. 쿼리를 다시 전송하거나 NOLOCK 잠금 힌트를 제거하십시오.Either resubmit the query or remove the NOLOCK locking hint.

참고 항목See Also

MSSQLSERVER_605MSSQLSERVER_605
테이블 힌트(Transact-SQL)Table Hints (Transact-SQL)
SELECT(Transact-SQL)SELECT (Transact-SQL)
SET TRANSACTION ISOLATION LEVEL(Transact-SQL)SET TRANSACTION ISOLATION LEVEL (Transact-SQL)