SQL Server 특정 세션에 대한 마지막 실행 문장 확인

 

  • Version : SQL Server 2005, 2008, 2008R2, 2012

 

특정 세션에서 마지막으로 실행한 쿼리를 확인하고 싶을 때 어떻게 할까?

Sys.dm_exec_sql_text 라는 DMV와 SPID 값을 이용하여 특정 세션이 마지막 실행 쿼리를 확인 할 수 있다.

SPID는 SQL Server인스턴스에서 세션을 식별할 수 있는 고유한 값이다. SPID를 확인 하는 방법은 해당 아래 스크립트 또는 SSMS에서 하단에 나타나는 정보로 확인 할 수 있다.

간혹 쿼리창이 연결된 상태에서 네트워크가 끊겻다 다시 붙는 경우 (쿼리창을 열어 둔채 서비스를 재실행 한 경우) SSMS의 하단에 나타나는 정보와 불일치 하는 경우도 있으니 스크립트로 확인 하는 방법을 권장한다.

SELECT @@SPID

 

 

 

새로운 쿼리창을 실행하여 쿼리문을 작성 한다. 현재 실습에서 SPID는 57을 나타내고 있다.

 

 

다시 새로운 쿼리창을 실행하자. 현재 SPID는 58 이며 (즉 새로운 세션이다) 여기에서 SPID 57에서 마지막에 실행한 쿼리문을 확인 할 수 있다.

SELECT @@SPID

GO

 

SELECT

A.SESSION_ID, A.CONNECT_TIME, B.TEXT

FROM SYS.DM_EXEC_CONNECTIONS AS A

    CROSS APPLY SYS.DM_EXEC_SQL_TEXT (A.MOST_RECENT_SQL_HANDLE) AS B

WHERE A.MOST_RECENT_SESSION_ID = 57

 

 

 

특정 어플리케이션 또는 SQL Server를 사용하는 서비스에서 쿼리를 호출 하여 에러가 발생하였을 때 위의 방법으로 로그를 남기는 작업을 추가 한다면 어떤 쿼리가 실행 했을 때 에러가 나는지 확인 할 수 있을 것이다. 또는 현재 실행 되고 있는 쿼리를 파악할 수 있어 어느 쿼리 때문에 시스템이 영향을 받는지도 확인 할 수 있을 것이다.



강성욱 / 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 33590
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 16947
1714 DMV를 이용한 SQL Server 성능 카운터 확인 jevida(강성욱) 2016.09.13 1909
1713 DMV를 이용한 SQL Server IO 성능 모니터 스냅샷 만들기 jevida(강성욱) 2016.09.13 1295
1712 DMV를 활용한 SQL Server 모니터링 jevida(강성욱) 2016.09.13 1376
1711 세션에 따른 캐시된 쿼리 플랜 설정 확인 jevida(강성욱) 2016.09.13 926
» SQL Server 특정 세션에 대한 마지막 실행 문장 확인 jevida(강성욱) 2016.09.13 777
1709 DMV - 데이터베이스 버퍼 메모리 사용량 확인 jevida(강성욱) 2016.09.13 3135
1708 Sys.dm_fts_parser을 이용한 문자열 구문 분석 jevida(강성욱) 2016.09.13 1401
1707 DMV에서 SQL Server 리소스 데이터베이스 값 jevida(강성욱) 2016.09.13 1121
1706 키워드로 PROCEDURE, FUNCTION 찾기 jevida(강성욱) 2016.09.13 1668
1705 BCP 사용 jevida(강성욱) 2016.09.13 3631
1704 DATEADD를 사용한 날짜 추가 및 빼기 jevida(강성욱) 2016.09.13 1201
1703 Change Data Capture(CDC) – 변경 이력 추적 jevida(강성욱) 2016.09.13 3103
1702 SSMS 에서 디버깅 하기 jevida(강성욱) 2016.09.13 9544
1701 CLR 등록 및 활성화 하기 jevida(강성욱) 2016.09.13 1739
1700 SQL Server 확장 이벤트를 사용한 Tempdb 병목현상 추적 jevida(강성욱) 2016.09.13 1695
1699 MAXDOP 설정 jevida(강성욱) 2016.09.13 1985
1698 SQL Server 이름 변경 하기 jevida(강성욱) 2016.09.13 1703
1697 SQL Server 마지막 시작 시간 확인 하기 jevida(강성욱) 2016.09.13 750
1696 여러 포트를 사용하도록 SQL Server 구성 jevida(강성욱) 2016.09.13 1938
1695 SQL Server가 사용중인 TCP/IP 포트 확인 jevida(강성욱) 2016.09.13 11694





XE Login