2007~2011/SQL Server2008. 11. 11. 12:51
COPY & PASTE 로 간편하게 사용할 수 있는 SQL Server Trobleshooting 에 필요한 쿼리들을 정리하려고 합니다. 다소 심플하며 성의없어(?) 보이는 포스팅이 이어질지 모르겠습니다만 이 모든 것이 이~편한 세상을 위한 것임으로 ... ㅋㅋㅋ 


sys.dm_exec_requests

SQL Server 내에서 실행 중인 각 요청에 대해 현재 처리 상태를 확인합니다. 예를 들어, 대용량 DB를 CHECKDB 하면서 소요 예상 시간이 궁금할 때, 현재 쿼리 요청에 대한 작업 상태를 확인할 때, 유용하게 적용할 수 있습니다.

아래 예제는 Session ID 51에 대한 진행되는 명령어, 실행 상태, 진행 작업의 백분율을 확인할 수 있습니다.
이 때, Session ID 51에서는 DBCC CHECKDB 를 수행하고 있는 상태입니다.
SELECT session_id, command, status, percent_complete FROM sys.dm_exec_requests
WHERE session_id = '51';


[실행결과]

session_id     command                    status                percent_complete
----------------------------------------------------------------------------------------------------------
51               DBCC TABLE CHECK      runnable            84.04607
(1개 행 적용됨)


[참고자료]
sys.dm_exec_requests
http://technet.microsoft.com/ko-kr/library/ms177648(SQL.90).aspx



작성자 : Lai Go / 작성일자 : 2008.11.11
Posted by 사용자 Lai Go

댓글을 달아 주세요

  1. session_id 값을 어떻게 확인해야 해요???
    성님~~`

    2012.01.25 21:02 신고 [ ADDR : EDIT/ DEL : REPLY ]
  2. DD

    안녕하세요.
    2000 에서는 어느테이블로 볼수 있어요?

    2013.02.15 20:16 [ ADDR : EDIT/ DEL : REPLY ]
    • SQL Server 2000 에서는 일반적으로 sysprocesses 를 참조합니다만... 어떤 결과를 원하는냐에 따라서 달라질 것 같습니다. :)

      2013.02.19 16:58 신고 [ ADDR : EDIT/ DEL ]