데이터베이스 개발자 Tip & 강좌

SQLER의 개발자들이 만들어가는 데이터베이스 사용자 Tip & 강좌 게시판입니다. SQL서버, Oracle, MySQL 등 여러 클라우드/오픈소스 기반 데이터베이스 개발 및 운영 관련 팁과 쿼리 노하우를 이곳에서 가장 먼저 접하실 수 있습니다. 많은 도움 되시길 바랍니다.

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
» SQL Server 특정 세션에 대한 마지막 실행 문장 확인 jevida(강성욱) 2016.09.13 713
1709 DMV - 데이터베이스 버퍼 메모리 사용량 확인 jevida(강성욱) 2016.09.13 2951
1708 Sys.dm_fts_parser을 이용한 문자열 구문 분석 jevida(강성욱) 2016.09.13 1285
1707 DMV에서 SQL Server 리소스 데이터베이스 값 jevida(강성욱) 2016.09.13 1063
1706 키워드로 PROCEDURE, FUNCTION 찾기 jevida(강성욱) 2016.09.13 1559
1705 BCP 사용 jevida(강성욱) 2016.09.13 3350
1704 DATEADD를 사용한 날짜 추가 및 빼기 jevida(강성욱) 2016.09.13 1153
1703 Change Data Capture(CDC) – 변경 이력 추적 jevida(강성욱) 2016.09.13 2444
1702 SSMS 에서 디버깅 하기 jevida(강성욱) 2016.09.13 6818
1701 CLR 등록 및 활성화 하기 jevida(강성욱) 2016.09.13 1560
1700 SQL Server 확장 이벤트를 사용한 Tempdb 병목현상 추적 jevida(강성욱) 2016.09.13 1606
1699 MAXDOP 설정 jevida(강성욱) 2016.09.13 1784
1698 SQL Server 이름 변경 하기 jevida(강성욱) 2016.09.13 1575
1697 SQL Server 마지막 시작 시간 확인 하기 jevida(강성욱) 2016.09.13 702
1696 여러 포트를 사용하도록 SQL Server 구성 jevida(강성욱) 2016.09.13 1799
1695 SQL Server가 사용중인 TCP/IP 포트 확인 jevida(강성욱) 2016.09.13 10912
1694 SQL Server SP_Congifure 변경 사항 캡처 jevida(강성욱) 2016.09.13 2061
1693 SQL Server Net Libraries jevida(강성욱) 2016.09.13 1108
1692 SQL Server 별칭 설정 및 사용 jevida(강성욱) 2016.09.13 2614
1691 SQL Server에 연결된 어플리케이션 드라이버 버전 확인 jevida(강성욱) 2016.09.13 880





XE Login