증상

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

  • Microsoft SQL Server 2008에서 또는 다음 쿼리 중 하나를 사용 하 여 SQL Server 2008 R2에서 테이블에 여러 행을 삽입 합니다.

    • INSERT INTO <target_table> SELECT * FROM <target_table> WHERE <predicate>
    • SELECT * INTO <target_table> FROM <source_table> WHERE <predicate>

    참고

    • <target_table> 자리 표시자는 실제 대상 테이블 이름을 나타냅니다.

    • <술어> 자리 표시자는 실제 조건자를 나타냅니다.

    • <source_table> 자리 표시자는 실제 원본 테이블을 나타냅니다.

  • 테이블의 잠금 에스컬레이션 임계값을 초과 했습니다.

이 시나리오에서는 데이터베이스 엔진이 테이블의 잠금을 에스컬레이션 하지 않습니다.

원인

이 문제는 SQL Server가 삽입 작업으로 생성 되는 모든 새 잠금을 내부적으로 카운트 하지 않기 때문에 발생 합니다. 따라서 필요한 경우 잠금 에스컬레이션 임계값이 트리거되지 않을 수 있습니다.

해결 방법

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

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

968382 SQL Server 2008의 최신 서비스 팩을 구하는 방법

SQL Server 2008 R2에 대 한 서비스 팩 정보

이 문제를 해결 하려면 SQL Server 2008 R2 용 최신 서비스 팩을 구하십시오. 자세한 내용은 다음 문서 번호를 클릭 하 여 Microsoft 기술 자료 문서를 참조 하세요.

2527041SQL Server 2008 R2의 최신 서비스 팩을 구하는 방법

상태

Microsoft는 "적용 대상" 절에 나열한 제품에서 이 문제를 확인했습니다.이 문제는 sql server 2008 용 sql server 2008 서비스 팩 2에서 처음 수정 되었습니다 .이 문제는 sql server 2008 R2 용 SQL Server 2008 R2 서비스 팩 1에서 처음 수정 되었습니다.

추가 정보

잠금 에스컬레이션에 대 한 자세한 내용은 다음 Microsoft TechNet 웹 사이트를 방문 하세요.

잠금 에스컬레이션에 대 한 일반 정보테이블의 잠금이 에스컬레이션 되는지 여부를 확인 하려면 다음 Transact-sql 문을 실행 합니다.

USE tempdbGOCREATE TABLE x (i INT NOT NULL PRIMARY KEY)GOBEGIN TRANINSERT xSELECT TOP (40000)ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS rFROM master..spt_values a, master..spt_values bORDER BYrSELECTCOUNT(*)FROM sys.dm_tran_locksWHERE request_session_id = @@SPID ROLLBACKGODROP TABLE x 

테이블의 잠금이 에스컬레이션 되는 경우 마지막 SELECT 문은 값 1 또는 2를 반환 합니다. 테이블의 잠금이 에스컬레이션 되지 않으면 마지막 SELECT 문은 40066 또는 40067값을 반환 합니다.

추가 도움이 필요하신가요?

기술 향상
교육 살펴보기
새로운 기능 우선 가져오기
Microsoft Insider 참가

이 정보가 유용한가요?

번역 품질에 얼마나 만족하시나요?
사용 경험에 어떠한 영향을 주었나요?

소중한 의견에 감사드립니다.

×