실행중인 모든 트랜잭션을 실행중인 시간 (내림차순)으로 나열하려면 어떻게합니까? 실수로 시작한 보고서를 삭제하고 싶습니다.가장 오래 실행중인 트랜잭션을 식별하고 제거하는 방법은 무엇입니까?
미리 감사드립니다.
실행중인 모든 트랜잭션을 실행중인 시간 (내림차순)으로 나열하려면 어떻게합니까? 실수로 시작한 보고서를 삭제하고 싶습니다.가장 오래 실행중인 트랜잭션을 식별하고 제거하는 방법은 무엇입니까?
미리 감사드립니다.
/연구되지 않은 검증되지 않은 있지만
SELECT at.transaction_id,
at.transaction_begin_time,
st.session_id
FROM sys.dm_tran_active_transactions at
LEFT JOIN sys.dm_tran_session_transactions st
ON at.transaction_id = st.transaction_id
ORDER BY transaction_begin_time
같은?
SQL Server Management Studio에서 작업중인 데이터베이스 -> 보고서 -> 모든 트랜잭션을 마우스 오른쪽 단추로 클릭하면 계속 트랜잭션의 ID를 찾을 수 있습니다. 트랜잭션의 ID를 결정한 후에는 새 쿼리를 만들고 다음 쿼리를 실행합니다. 예 : kill 96
흠, 현재이 데이터베이스에는 열려있는 트랜잭션이 없습니다. 그 동안 내 보고서가 중지되었지만 적어도 웹 응용 프로그램이이 DB를 많이 사용하기 때문에 다른 활성 트랜잭션이없는 이유가 궁금합니다. 어쨌든 고마워. –
당신과 [Pinal의 접근 방법] (http://stackoverflow.com/questions/7916210/how-to-identify-and-kill 가장 긴 실행 트랜잭션/7916316 # 7916316) 다른 결과를 제공합니다. 쿼리는 현재 session_id = NULL 인 22 개의 트랜잭션을 모두 나열하지만 Pinals는이 쿼리 자체의 트랜잭션 만 표시합니다 (Session_Id = 57). 왜? –
@TimSchmelter - Piny 's가 현재 트랜잭션에 참여하거나 참여하지 않을 수있는 문장을 실행하고있는 반면, 내 쿼리는 ** 내부 시스템을 포함하여 질문에 지정된대로 ** 트랜잭션 **을 나열하기 때문에. 보고 쿼리에서 거래를 보는 '선택'만하는 것이 도움이되지 않습니다. –
@Tim Schmelter : Pinal 사이트의 "권위"라는 단어는 실제 "권위"가 아닌 유머의 형태로 받아 들여야합니다. – gbn