성능 모니터링 및 튜닝 도구
MicrosoftSQL Server는 SQL Server의 이벤트를 모니터링하고 물리적 데이터베이스 디자인을 튜닝하는 여러 가지 도구를 제공합니다. 도구를 선택하는 기준은 수행된 모니터링 또는 튜닝 유형과 모니터링할 이벤트에 따라 결정됩니다.
SQL Server 모니터링 및 튜닝 도구는 다음과 같습니다.
도구 |
설명 |
---|---|
SQL Server Profiler는 일괄 처리나 트랜잭션 시작 같은 엔진 프로세스 이벤트를 추적하므로 서버와 데이터베이스 작업(예: 교착 상태, 치명적 오류 또는 로그인 작업)을 모니터링할 수 있습니다. SQL Server Profiler 데이터를 SQL Server 테이블이나 파일에 캡처해 나중에 분석할 때 사용할 수 있으며 SQL Server에 캡처한 이벤트를 단계별로 재생해 발생한 이벤트를 정확하게 확인할 수도 있습니다. |
|
시스템 모니터는 주로 사용 중인 버퍼 관리자 페이지 요청 수 같은 리소스 사용을 추적하므로 이벤트를 모니터링할 미리 정의된 개체와 카운터 또는 사용자 정의된 카운터를 사용하여 서버 성능과 작업을 모니터링할 수 있습니다. 시스템 모니터(Microsoft Windows NT 4.0의 성능 모니터)는 이벤트에 대한 데이터(예: 메모리 사용량, 활성 트랜잭션 수, 차단된 잠금 수 또는 CPU 작업)보다는 개수와 속도를 수집합니다. 특정 카운터에 대해 운영자에게 경고 메시지를 보내도록 임계값을 설정할 수도 있습니다. 시스템 모니터는 Microsoft Windows Server 및 Windows 운영 체제에서 작동합니다. 시스템 모니터는 Windows NT 4.0 이상에서 SQL Server 인스턴스를 원격 또는 로컬로 모니터링할 수 있습니다. SQL Server Profiler 및 시스템 모니터의 주요 차이점은 SQL Server Profiler는 데이터베이스 엔진 이벤트를 모니터링하지만 시스템 모니터는 서버 프로세스와 연관된 리소스 사용량을 모니터링하는 것입니다. |
|
SQL Server Management Studio의 작업 모니터는 다음과 같은 정보를 그래픽으로 표시합니다.
이 기능은 현재 작업을 임시로 볼 때 유용합니다. |
|
추적을 작성, 필터링 및 정의하는 Transact-SQL 저장 프로시저는 다음과 같습니다. |
|
Windows 응용 프로그램 이벤트 로그는 Windows Server 및 Windows 운영 체제 전체에서 발생하는 이벤트뿐만 아니라 SQL Server, SQL Server 에이전트의 이벤트와 전체 텍스트 검색을 전반적으로 보여 줍니다. 이 이벤트 로그에는 다른 곳에서 사용할 수 없는 SQL Server의 이벤트 정보가 포함됩니다. 오류 로그에 있는 정보를 사용하여 SQL Server와 관련 있는 문제를 해결할 수 있습니다. |
|
다음 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(데이터베이스 콘솔 명령) 문을 사용하면 성능 통계 및 데이터베이스의 논리적, 물리적 일관성을 검사할 수 있습니다. |
|
기본 제공 함수는 서버가 시작된 이후 SQL Server 작업에 대한 스냅숏 통계를 표시하며 이러한 통계는 미리 정의된 SQL Server 카운터에 저장됩니다. 예를 들어 @@CPU_BUSY에는 CPU가 SQL Server 코드를 실행한 시간이 포함되고 @@CONNECTIONS에는 SQL Server 연결 수나 시도 횟수가 포함되며 @@PACKET_ERRORS에는 SQL Server 연결에서 발생한 네트워크 패킷 수가 포함됩니다. |
|
추적 플래그는 서버에서 특정 작업에 대한 정보를 표시하며 문제점이나 교착 상태 체인과 같은 성능 문제를 진단하는 데 사용됩니다. |
|
데이터베이스 엔진 튜닝 관리자는 튜닝할 데이터베이스에 대해 실행된 Transact-SQL 문의 성능 영향을 분석합니다. 데이터베이스 엔진 튜닝 관리자는 인덱스, 인덱싱된 뷰 및 분할의 추가, 제거 또는 수정에 대한 권장 구성을 제공합니다. |
모니터링 도구 선택
모니터링 도구 선택은 모니터링할 이벤트나 작업에 따라 결정됩니다.
이벤트/작업 |
SQL Server 프로파일러 |
시스템 모니터 |
작업 모니터 |
Transact-SQL |
오류 로그 |
---|---|---|---|---|---|
추세 분석 |
예 |
예 |
|
|
|
캡처한 이벤트 재생 |
예 |
|
|
|
|
임시 모니터링 |
예 |
|
예 |
예 |
예 |
경고 생성 |
|
예 |
|
|
|
그래픽 인터페이스 |
예 |
예 |
예 |
|
예 |
사용자 지정 응용 프로그램에서 사용 |
예1 |
|
|
예 |
|
1SQL Server Profiler 시스템 저장 프로시저를 사용
Windows 모니터링 도구
Windows 운영 체제와 Windows Server 2003에서도 다음과 같은 모니터링 도구를 제공합니다.
도구 |
설명 |
---|---|
태스크 관리자 |
시스템에서 실행 중인 프로세스 및 응용 프로그램의 개요를 보여 줍니다. |
네트워크 모니터 에이전트 |
네트워크 트래픽을 모니터링합니다. |
Windows 운영 체제나 Windows Server 도구에 대한 자세한 내용은 Windows 설명서를 참조하십시오.