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