반응형

MSSQL 작업모니터를 활용하는 방법이다.
아래는 관련 문서이니 잘 살펴보길 바란다. 
http://msdn.microsoft.com/ko-kr/library/cc879320.aspx


구차니즘을 조금이나마 돕기위해 복사신공을 일단 이용해 보겠다.

MSDN보다 더 잘 설명할 방법은 엄는듯 싶고

그림정도 추가해 보도록 하겠다.

 

1. 용도

 - SQL Server 프로세스와 이러한 프로세스가 현재 SQL Server 인스턴스에 미치는 영향에 대한 정보를 취득하도록 하는 Tool

 - 창을 확장하면 작업 모니터는 인스턴스에서 정보를 쿼리하고 창(개요, 활성 사용자 태스크, 리소스 대기, 데이터 파일 I/O 및

    비용이 드는 최근 쿼리)을 축소하면 해당 창에 대한 모든 쿼리 작업이 중지되며

   또한 하나 이상의 창을 동시에 확장하여 인스턴스에 대한 여러 종류의 작업을 볼 수도 있다.

 

2. 권한

 - SQL Server 2005 및 SQL Server 2008에서 작업 모니터를 보려면 사용자에게 VIEW SERVER STATE 권한이 있어야 함.

  http://cafe.naver.com/xlsvba/7106 참고

 

3. 그럼 일단 어떰놈인지 열어나 보자... 툴박스내 오른쪽에 차트 아이콘 모양의 버튼을 클릭하믄 된다.




 

4. 어떤넘들루 구성되었는지 보도록 하자.

 



5. 창에 대한 설명

  

 ㄴ 5-1 개요 : 이 창에는 다음과 같은 인스턴스 정보가 그래픽으로 표시



 

   - 프로세서 시간  : 프로세서가 모든 CPU에서 인스턴스에 대한 비유휴 스레드를 실행하는 데 걸린 시간의 백분율입니다.

   - 대기 중인 태스크 : 프로세서, I/O 또는 메모리 리소스를 사용하기 위해 대기하는 태스크 수입니다.

   - 데이터베이스 I/O : 메모리에서 디스크로, 디스크에서 메모리로 또는 디스크에서 디스크로 데이터 전송 속도(MB/초)입니다.

   - 일괄 처리 요청/초 : 인스턴스에 의해 수신되는 SQL Server 일괄 처리의 수입니다.

   - 새로 고침 간격 : 작업 모니터의 업데이트 간격을 설정할 수 있도록 합니다.

                            이 옵션은 작업 모니터가 인스턴스에서 새 정보를 쿼리하는 빈도를 구성합니다.

                            업데이트 간격을 10초보다 작게 설정하면 이러한 쿼리를 실행하는 데

                           사용되는 시간이 서버 성능에 영향을 줄 수 있습니다.  
                           비용이 드는 최근 쿼리의 업데이트 간격은 항상 30초입니다.
   - 일시 중지 : 작업 모니터를 일시 중지합니다. 모든 작업 모니터 프로세스도 일시 중지됩니다.

   - 다시 시작 : 일시 중지가 선택된 후 작업 모니터를 다시 시작합니다. 모든 작업 모니터 프로세스도 다시 시작됩니다.

   - 새로 고침 : 다음 업데이트 간격 이전에 현재 작업 모니터 정보를 가져옵니다.

 

 

 ㄴ 5-2 활성 사용자 태스크 창 : 해당 인스턴스의 활성 사용자 연결에 대한 정보가 표시되고 다음과 같은 열이 포함되고

                                           오른쪽 마우스를 누르고 "자세히"를 클릭하면 상세정보를 볼 수 있다.

                                           SP_WHO, SP_WHO2 프로시저를 이용해서 내가 지금 날린 SQL등도 세션ID값을 취득후 취득함



 

    - 세션 ID : 사용자가 연결할 때 각 연결에 할당된 고유한 정수(int)입니다. SP_WHO 프로시저등을 이용

    - 사용자 프로세스 : 시스템 프로세스의 경우에는 0이 표시되고 사용자 프로세스의 경우에는 1이 표시됩니다.

                기본적으로 이 열의 필터 설정은 1입니다. 이 설정은 사용자 프로세스만 표시합니다.

    - 로그인 : 현재 세션을 실행하는 SQL Server 로그인 이름입니다.

    - 데이터베이스 : 현재 실행 중인 프로세스의 연결 속성에 포함된 데이터베이스의 이름입니다.

    - 태스크 상태 : 태스크 상태입니다.

                실행 가능 또는 중지 중 상태에 있는 태스크의 경우 태스크 상태가 비어 있습니다.

                그렇지 않으면 다음 값 중 하나일 수 있습니다. (실행 중 / 일시 중지됨)

    - 명령 : 태스크에서 처리하고 있는 명령의 종류입니다.

    - 응용 프로그램  : 연결을 만든 응용 프로그램의 이름입니다.

    - 대기 시간(밀리초) : 태스크가 리소스를 기다리고 있는 시간(밀리초)입니다.

                태스크가 기다리고 있지 않으면 대기 시간은 0입니다.

    - 대기 유형 : 마지막 또는 현재 대기 유형의 이름입니다.

    - 대기 리소스 : 필요한 리소스의 이름입니다.

    - 차단 주체 : 차단 세션이 있는 경우 태스크를 차단하는 세션의 ID입니다.

    - 헤드 블로커 : 차단 세션이 있는 경우 첫 번째 차단 조건을 유발하는 세션을 식별합니다.

              값 1은 다른 세션의 헤드 블로커를 나타냅니다.

    - 메모리 사용(KB) : 태스크에서 사용 중인 메모리의 양(KB)입니다.

    - 호스트 이름 : SQL Server 인스턴스에 연결된 컴퓨터의 이름입니다.

    - 작업 그룹 : 세션에 대한 리소스 관리자 작업 그룹의 이름입니다.

         자세한 내용은 리소스 관리자로 SQL Server 작업 및 리소스 관리를 참조하십시오.

 

 

 ㄴ 5-3 리소스 대기 창 : 리소스 대기에 대한 정보가 표시되고 다음과 같은 열이 포함되어 있습니다.



 

 

    - 대기 범주 : 대기 유형 통계가 누적되는 범주입니다. 개별 대기 유형은 활성 사용자 태스크 창에 표시됩니다.

          자세한 내용은 sys.dm_os_wait_stats(http://msdn.microsoft.com/ko-kr/library/ms179984(SQL.90).aspx)를 참조.

    - 대기 시간(밀리초/초) : 마지막 업데이트 간격 이후에 대기 범주에 있는 하나 이상의 리소스를 기다리는 모든 태스크의 대기 시간(밀리초/초)

    - 최근 대기 시간(밀리초/초) : 마지막 업데이트 간격 이후에 대기 범주에 있는 하나 이상의 리소스를 기다리는 모든 태스크의 가중 평균 대기 시간(밀리초/초)

    - 평균 대기자 수 : 마지막 샘플 간격의 일반 시점에서 대기 범주에 있는 하나 이상의 리소스를 기다리는 태스크의 수

    - 누적 대기 시간(초) : SQL Server가 인스턴스에서 마지막으로 시작되었거나 DBCC SQLPERF가 인스턴스에서 실행된 이후

                                태스크가 대기 범주에 있는 하나 이상의 리소스를 기다린 총 시간(초)

 

 

 ㄴ 5-4  데이터 파일 I/O 창 : 인스턴스에 속한 데이터베이스의 데이터베이스 파일에 대한 정보



 

 

    - 데이터베이스 : 데이터베이스 이름입니다.

    - 파일 이름 : 데이터베이스에 속한 파일의 이름입니다.

    - MB/초 읽기 : 데이터베이스 파일에 대한 최근 읽기 작업(MB/초)

    - MB/초 쓰기 : 데이터베이스 파일에 대한 최근 쓰기 작업(MB/초)

    - 응답 시간(밀리초) : 데이터베이스 파일에 대한 최근 읽기 및 쓰기 작업의 평균 응답 시간(밀리초)

 

 

 ㄴ 5-5  비용이 드는 최근 쿼리 창 : 마지막 30초 동안 인스턴스에서 실행된 가장 비용이 많이 드는 쿼리에 대한 정보가 표시

            이 정보는 sys.dm_exec_requests와 sys.dm_exec_query_stats가 통합된 개체에서 파생됩니다.

            여기에는 진행 중인 쿼리와 이 기간 동안 완료된 쿼리가 포함된다.

            일전의 강좌를 잘 살펴보믄 도움이 될것이고 http://cafe.naver.com/xlsvba/3413

            실제 비용이 많이 드는것만 모아주니 더 편하게 사용이 가능할 것이다..



 

    - 쿼리 : 모니터링 중인 쿼리 문입니다.

    - 실행/분 : 분당 쿼리 실행 횟수입니다.

    - CPU(밀리초/초) : 쿼리에 의한 CPU 사용 비율입니다.

    - 물리적 읽기/초 : 쿼리에 의한 물리적 읽기의 초당 비율입니다.

    - 논리적 쓰기/초 : 쿼리에 의한 논리적 쓰기의 초당 비율입니다.

    - 논리적 읽기/초 : 쿼리에 의한 논리적 읽기의 초당 비율입니다.

    - 평균 기간(밀리초) : 이 쿼리를 실행하는 평균 기간(밀리초)입니다.

    - 계획 수 : 이 쿼리에 대해 캐시된 쿼리 계획 수입니다.

          계획이 많은 경우 쿼리를 명시적으로 매개 변수화해야 할 수 있습니다.

          자세한 내용은 계획 지침을 사용하여 쿼리 매개 변수화 동작 지정을 참조하십시오.

반응형

+ Recent posts