programing

T-SQL: 테이블을 몇 분 동안 수동으로 잠급니다.

subpage 2023. 8. 2. 09:04
반응형

T-SQL: 테이블을 몇 분 동안 수동으로 잠급니다.

이것이 이상할 것이라는 것을 알고 있지만 MVC 응용 프로그램에서 오류를 트리거하고 싶고 이 오류는 테이블에서 레코드 하나를 가져오는 LINQ 쿼리를 기반으로 합니다.T-SQL 명령을 사용하여 이 레코드가 차단(데이터베이스/테이블/행)되는 동안(예: 무한 루프가 항상 이 레코드 하나를 업데이트함) LINQ 쿼리는 해당 레코드를 읽기 위해 쿼리를 실행합니다.LINQ가 시도할 때 20-30초 후에 타임아웃이 되어야 합니다. 이전에 시도한 적이 있는 사람이 있습니까?

제가 당신의 질문을 올바르게 이해했다면, 당신은 테스트 목적으로 테이블 잠금을 강제로 적용하고 싶어하는 것처럼 보입니다.SQL Server를 사용하여 이 작업을 수행하려면 관심 테이블에서 배타적인 테이블 잠금을 발생시키는 저장 프로시저를 생성하고 실행할 수 있습니다.잠금이 활성화되어 있는 동안 테스트할 프로그램을 실행할 수 있습니다.

다음 저장 프로시저는 테이블을 2분 동안 잠가야 합니다.필요에 따라 지연 매개 변수를 변경할 수 있습니다.

BEGIN TRAN  
SELECT TOP (1) 1 FROM TABLE WITH (TABLOCKX)
WAITFOR DELAY '00:02:00' 
ROLLBACK TRAN   
GO 

이를 위한 일반적인 접근 방식은 아래 스택 오버플로 게시물에 설명되어 있습니다.MSDN 링크는 WAITFOR 문에 대한 몇 가지 추가 정보를 제공합니다.

원래 스택 오버플로 포스트

보조 MSDN 게시물

언급URL : https://stackoverflow.com/questions/25273157/t-sql-lock-a-table-manually-for-some-minutes

반응형