성능 모니터링 및 튜닝 도구

업데이트: 2006년 7월 17일

Microsoft SQL Server는 SQL Server의 이벤트를 모니터링하고 물리적 데이터베이스 디자인을 튜닝하는 여러 가지 도구를 제공합니다. 도구를 선택하는 기준은 수행된 모니터링 또는 튜닝 유형과 모니터링할 이벤트에 따라 결정됩니다.

SQL Server 모니터링 및 튜닝 도구는 다음과 같습니다.

도구

설명

SQL Server 프로파일러 소개

SQL Server 프로파일러는 일괄 처리나 트랜잭션 시작 같은 엔진 프로세스 이벤트를 추적하므로 서버와 데이터베이스 작업(예: 교착 상태, 치명적 오류 또는 로그인 작업)을 모니터링할 수 있습니다. SQL Server 프로파일러 데이터를 SQL Server 테이블이나 파일에 캡처해 나중에 분석할 때 사용할 수 있으며 SQL Server에 캡처한 이벤트를 단계별로 재생해 발생한 이벤트를 정확하게 확인할 수도 있습니다.

리소스 사용 모니터링(시스템 모니터)

시스템 모니터는 주로 사용 중인 버퍼 관리자 페이지 요청 수 같은 리소스 사용을 추적하므로 이벤트를 모니터링할 미리 정의된 개체와 카운터 또는 사용자 정의된 카운터를 사용하여 서버 성능과 작업을 모니터링할 수 있습니다. 시스템 모니터(Microsoft Windows NT 4.0의 성능 모니터)는 이벤트에 대한 데이터(예: 메모리 사용량, 활성 트랜잭션 수, 차단된 잠금 수 또는 CPU 작업)보다는 개수와 속도를 수집합니다. 특정 카운터에 대해 운영자에게 경고 메시지를 보내도록 임계값을 설정할 수도 있습니다.

시스템 모니터는 Microsoft Windows Server 및 Windows 운영 체제에서 작동합니다. 시스템 모니터는 Windows NT 4.0 이상에서 SQL Server 인스턴스를 원격 또는 로컬로 모니터링할 수 있습니다.

SQL Server 프로파일러 및 시스템 모니터의 주요 차이점은 SQL Server 프로파일러는 데이터베이스 엔진 이벤트를 모니터링하지만 시스템 모니터는 서버 프로세스와 연관된 리소스 사용량을 모니터링하는 것입니다.

방법: 작업 모니터 열기(SQL Server Management Studio)

SQL Server Management Studio의 작업 모니터는 다음과 같은 정보를 그래픽으로 표시합니다.

  • SQL Server 인스턴스에서 실행 중인 프로세스
  • 차단된 프로세스
  • 잠금
  • 사용자 작업

이 기능은 현재 작업을 임시로 볼 때 유용합니다.

SQL Trace 소개

추적을 작성, 필터링 및 정의하는 Transact-SQL 저장 프로시저는 다음과 같습니다.

오류 로그 모니터링

Windows 응용 프로그램 이벤트 로그는 Windows Server 및 Windows 운영 체제 전체에서 발생하는 이벤트뿐만 아니라 SQL Server, SQL Server 에이전트의 이벤트와 전체 텍스트 검색을 전반적으로 보여 줍니다. 이 이벤트 로그에는 다른 곳에서 사용할 수 없는 SQL Server의 이벤트 정보가 포함됩니다. 오류 로그에 있는 정보를 사용하여 SQL Server와 관련 있는 문제를 해결할 수 있습니다.

데이터베이스 엔진 저장 프로시저(Transact-SQL)

다음 SQL Server 시스템 저장 프로시저는 다양한 모니터링 작업에 대한 강력한 대체 방법을 제공합니다.

저장 프로시저

설명

sp_who(Transact-SQL)현재 실행 중인 문을 포함한 현재 SQL Server 사용자와 프로세스에 대한 스냅숏 정보 및 문의 차단 여부를 보고합니다.

sp_lock(Transact-SQL)개체 ID, 인덱스 ID, 잠금 유형, 잠금이 적용되는 유형이나 리소스에 대한 스냅숏 정보를 보고합니다.

sp_spaceused(Transact-SQL)테이블이나 전체 데이터베이스가 사용 중인 현재 예상 디스크 공간의 양을 보여 줍니다.

sp_monitor(Transact-SQL)sp_monitor가 마지막으로 실행된 이후의 CPU 사용량, I/O 사용량 및 유휴 시간 양을 포함하는 통계를 표시합니다.

DBCC(Transact-SQL)

DBCC(데이터베이스 콘솔 명령) 문을 사용하면 성능 통계 및 데이터베이스의 논리적, 물리적 일관성을 검사할 수 있습니다.

함수(Transact-SQL)

기본 제공 함수는 서버가 시작된 이후 SQL Server 작업에 대한 스냅숏 통계를 표시하며 이러한 통계는 미리 정의된 SQL Server 카운터에 저장됩니다. 예를 들어 @@CPU_BUSY에는 CPU가 SQL Server 코드를 실행한 시간이 포함되고 @@CONNECTIONS에는 SQL Server 연결 수나 시도 횟수가 포함되며 @@PACKET_ERRORS에는 SQL Server 연결에서 발생한 네트워크 패킷 수가 포함됩니다.

추적 플래그(Transact-SQL)

추적 플래그는 서버에서 특정 작업에 대한 정보를 표시하며 문제점이나 교착 상태 체인과 같은 성능 문제를 진단하는 데 사용됩니다.

물리적 데이터베이스 디자인 튜닝

데이터베이스 엔진 튜닝 관리자는 튜닝할 데이터베이스에 대해 실행된 Transact-SQL 문의 성능 영향을 분석합니다. 데이터베이스 엔진 튜닝 관리자는 인덱스, 인덱싱된 뷰 및 분할의 추가, 제거 또는 수정에 대한 권장 구성을 제공합니다.

모니터링 도구 선택

모니터링 도구 선택은 모니터링할 이벤트나 작업에 따라 결정됩니다.

이벤트/작업 SQL Server 프로파일러 시스템 모니터 작업 모니터 Transact-SQL 오류 로그

추세 분석

 

 

 

캡처한 이벤트 재생

 

 

 

 

임시 모니터링

 

경고 생성

 

 

 

 

그래픽 인터페이스

 

사용자 지정 응용 프로그램에서 사용

예1

 

 

 

1 SQL Server 프로파일러 시스템 저장 프로시저를 사용

Windows 모니터링 도구

Windows 운영 체제와 Windows Server 2003에서도 다음과 같은 모니터링 도구를 제공합니다.

도구 설명

작업 관리자

시스템에서 실행 중인 프로세스 및 응용 프로그램의 개요를 보여 줍니다.

네트워크 모니터 에이전트

네트워크 트래픽을 모니터링합니다.

Windows 운영 체제나 Windows Server 도구에 대한 자세한 내용은 Windows 설명서를 참조하십시오.

변경 내역

릴리스 내역

2006년 7월 17일

변경된 내용

SNMP(Simple Network Management Protocol)를 사용하여 SQL Server 2005를 모니터링하는 방법에 대한 설명 섹션을 제거했습니다. SQL Server에서는 더 이상 SNMP를 지원하지 않습니다.