활성 트랜잭션 찾기

jevida(강성욱) 2015.03.23 17:18 Views : 4084

활성 트랜잭션 찾기

 

현재 활성되어 있는 트랜잭션에서 오래된 트랜잭션은 어떤 것이 있을가? 그리고 누가 이 트랜잭션을 발생 시켰을까?

다음 스크립트를 이용해서 찾아 보도록 합니다.

SELECT

    A.SESSION_ID, DATEDIFF(MINUTE, B.LAST_REQUEST_END_TIME, GETDATE()) AS [LOCKING MINUTS],

    B.LOGIN_TIME, B.HOST_NAME, B.PROGRAM_NAME, B.CLIENT_INTERFACE_NAME, B.LOGIN_NAME,

    B.STATUS, B.LAST_REQUEST_START_TIME, B.LAST_REQUEST_END_TIME,

    TEXT

FROM SYS.DM_TRAN_SESSION_TRANSACTIONS AS A

    INNER JOIN SYS.DM_EXEC_SESSIONS AS B ON A.SESSION_ID = B.SESSION_ID

    INNER JOIN SYS.DM_EXEC_CONNECTIONS AS C ON B.SESSION_ID = C.SESSION_ID

CROSS APPLY SYS.DM_EXEC_SQL_TEXT(C.MOST_RECENT_SQL_HANDLE)

WHERE DATEDIFF(MINUTE, B.LAST_REQUEST_END_TIME, GETDATE()) > 0 사용자시간수정()

 

--=================================================================================

 

SELECT

    'KILL ' + CONVERT(CHAR(4),SPID) AS [KILL_LIST], SPID, DATEDIFF(SS, LAST_BATCH, GETDATE()) AS [LOCK_TIME],

    LOGINAME, LASTWAITTYPE, CMD, TEXT

FROM SYS.SYSPROCESSES AS A

CROSS APPLY SYS.DM_EXEC_SQL_TEXT(A.SQL_HANDLE)

WHERE OPEN_TRAN >0 AND DATEDIFF(SS, LAST_BATCH, GETDATE()) > 0 사용자시간수정()

AND SPID > 50

 

세션1에 트랜잭션을 명시하고 활성 상태로 둡니다. 그리고 다른 세션을 열어 위의 스크립트를 실행하면 세션을 실행한 시간, 세션 활성 시간, 로그인 계정, 실행 쿼리 등이 나타납니다.



강성욱 / jevida@naver.com
Microsoft SQL Server MVP
Blog : http://sqlmvp.kr
Facebook : http://facebook.com/sqlmvp



No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 20077
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 12120
1634 SSMS 쿼리 자동 줄 바꿈 jevida(강성욱) 2015.03.27 9657
1633 SSMS 인텔리전스 사용 jevida(강성욱) 2015.03.27 6307
1632 SSMS 줄 번호 표시 jevida(강성욱) 2015.03.26 64817
1631 SSMS 시작 옵션 변경하기 jevida(강성욱) 2015.03.26 4355
1630 SSMS 쿼리 결과 다른 탭에 표시하기 jevida(강성욱) 2015.03.26 5197
1629 SSMS 연결 표시줄 색상 변경 jevida(강성욱) 2015.03.26 4868
1628 SSMS 결과 복사시 열 머리글 포함하기 jevida(강성욱) 2015.03.26 4818
1627 SSMS 결과물을 쉼표로 구분하여 출력하기 jevida(강성욱) 2015.03.26 4224
1626 SSMS 최근 사용한 파일에 대한 설정 변경 jevida(강성욱) 2015.03.25 3734
1625 SSMS 상위 행 선택 및 수정 행 변경 jevida(강성욱) 2015.03.25 7194
1624 SSMS에서 변경 스크립트 자동 생성 jevida(강성욱) 2015.03.25 4225
1623 SSMS 명령 단축키 설정 jevida(강성욱) 2015.03.25 6733
1622 Min / Max Server Memory 설정 jevida(강성욱) 2015.03.24 14135
1621 Tempdb 장애 유형과 해결방안.(디스크 공간 및 경로 문제) jevida(강성욱) 2015.03.24 5523
1620 SQL Server ErrorLog에 백업 로그 남지기 않기 jevida(강성욱) 2015.03.24 4101
1619 SQL Server의 Errorlog는 어디에 저장 될까? jevida(강성욱) 2015.03.24 3799
1618 통계(Statistics) jevida(강성욱) 2015.03.23 5884
» 활성 트랜잭션 찾기 jevida(강성욱) 2015.03.23 4084
1616 ForwardedRecord (행 이동에 대한 포워드) jevida(강성욱) 2015.03.23 3435
1615 인덱스 생성 순서에 따른내부 작업 변화 jevida(강성욱) 2015.03.23 5110





XE Login