다음을 통해 공유


장기 실행 트랜잭션 관리

장기 실행 트랜잭션으로 인해 로그가 꽉 찰 수 있습니다. 장기 실행 트랜잭션은 트랜잭션의 첫 번째 로그 레코드가 포함된 가상 로그 파일부터 해당 트랜잭션 로그를 활성 상태로 유지합니다. 가상 로그 파일부터는 잘림을 수행할 수 없습니다.

중요 정보중요

장기 실행 트랜잭션으로 인해 트랜잭션 로그가 꽉 찰 수 있습니다. 트랜잭션 로그가 꽉 찬 경우의 처리 방법은 꽉 찬 트랜잭션 로그 문제 해결(오류 9002)을 참조하십시오.

장기 실행 트랜잭션 검색

장기 실행 트랜잭션을 찾으려면 다음 중 하나를 사용합니다.

  • sys.dm_tran_database_transactions

    이 동적 관리 뷰는 데이터베이스 수준에서 트랜잭션 정보를 반환합니다. 장기 실행 트랜잭션과 특히 관련된 열에는 첫 번째 로그 레코드 시간(database_transaction_begin_time), 현재 트랜잭션 상태(database_transaction_state), 트랜잭션 로그에서 시작 레코드의 LSN(로그 시퀀스 번호)(database_transaction_begin_lsn) 등이 있습니다.

    자세한 내용은 sys.dm_tran_database_transactions(Transact-SQL)를 참조하십시오.

  • DBCC OPENTRAN

    이 문을 사용하면 트랜잭션 소유자의 사용자 ID를 식별할 수 있으므로 트랜잭션의 출처를 추적하여 롤백 대신 커밋을 더 많이 수행하는 순차적 종료 작업을 확인할 수 있습니다. 자세한 내용은 DBCC OPENTRAN(Transact-SQL)을 참조하십시오.

[!참고]

로그 잘림을 지연시킬 수 있는 다른 요소에 대한 자세한 내용은 로그 잘림을 지연시킬 수 있는 요소를 참조하십시오.

트랜잭션 중지

KILL 문을 사용해야 하는 경우도 있습니다. 그러나 특히 중요한 프로세스가 실행 중일 때는 이 문을 신중하게 사용하십시오. 자세한 내용은 KILL(Transact-SQL)을 참조하십시오.