성능 모니터링 및 튜닝 도구Performance Monitoring and Tuning Tools

MicrosoftMicrosoft SQL ServerSQL ServerSQL ServerSQL Server 의 이벤트를 모니터링하고 물리적 데이터베이스 디자인을 튜닝하는 여러 가지 도구를 제공합니다. and for tuning the physical database design. 도구를 선택하는 기준은 수행된 모니터링 또는 튜닝 유형과 모니터링할 이벤트에 따라 결정됩니다.The choice of tool depends on the type of monitoring or tuning to be done and the particular events to be monitored.

SQL ServerSQL Server 모니터링 및 튜닝 도구는 다음과 같습니다.Following are the SQL ServerSQL Server monitoring and tuning tools:

도구Tool 설명Description
sp_trace_setfilter(Transact-SQL)sp_trace_setfilter (Transact-SQL) SQL Server 프로파일러SQL Server Profiler 는 일괄 처리나 트랜잭션 시작 같은 엔진 프로세스 이벤트를 추적하므로 서버와 데이터베이스 작업(예: 교착 상태, 치명적 오류 또는 로그인 작업)을 모니터링할 수 있습니다. tracks engine process events, such as the start of a batch or a transaction, enabling you to monitor server and database activity (for example, deadlocks, fatal errors, or login activity). SQL Server 프로파일러SQL Server Profiler 데이터를 SQL ServerSQL Server 테이블이나 파일에 캡처하여 나중에 분석할 수 있으며, SQL ServerSQL Server 에서 캡처된 이벤트를 단계별로 재생하여 발생한 이벤트를 정확히 확인할 수도 있습니다.You can capture SQL Server 프로파일러SQL Server Profiler data to a SQL ServerSQL Server table or a file for later analysis, and you can also replay the events captured on SQL ServerSQL Server step by step, to see exactly what happened.
SQL Server Distributed ReplaySQL Server Distributed Replay MicrosoftMicrosoft SQL ServerSQL Server Distributed Replay를 사용하면 여러 컴퓨터를 사용해 추적 데이터를 재생하여 중요한 작업을 효율적으로 시뮬레이트할 수 있습니다. Distributed Replay can use multiple computers to replay trace data, simulating a mission-critical workload.
리소스 사용 모니터링(시스템 모니터)Monitor Resource Usage (System Monitor) 시스템 모니터는 주로 사용 중인 버퍼 관리자 페이지 요청 수 같은 리소스 사용을 추적하므로 이벤트를 모니터링할 미리 정의된 개체와 카운터 또는 사용자 정의된 카운터를 사용하여 서버 성능과 작업을 모니터링할 수 있습니다.System Monitor primarily tracks resource usage, such as the number of buffer manager page requests in use, enabling you to monitor server performance and activity using predefined objects and counters or user-defined counters to monitor events. 시스템 모니터(Microsoft Windows NT 4.0의 성능 모니터)는 이벤트에 대한 데이터(예: 메모리 사용량, 활성 트랜잭션 수, 차단된 잠금 수 또는 CPU 작업)보다는 개수와 속도를 수집합니다.System Monitor (Performance Monitor in Microsoft Windows NT 4.0) collects counts and rates rather than data about the events (for example, memory usage, number of active transactions, number of blocked locks, or CPU activity). 특정 카운터에 대해 운영자에게 경고 메시지를 보내도록 임계값을 설정할 수도 있습니다.You can set thresholds on specific counters to generate alerts that notify operators.

시스템 모니터는 Microsoft Windows Server 및 Windows 운영 체제에서 작동합니다.System Monitor works on Microsoft Windows Server and Windows operating systems. 시스템 모니터는 Windows NT 4.0 이상에서 SQL ServerSQL Server 인스턴스를 원격 또는 로컬로 모니터링할 수 있습니다.It can monitor (remotely or locally) an instance of SQL ServerSQL Server on Windows NT 4.0 or later.

SQL Server 프로파일러SQL Server Profiler 및 시스템 모니터의 주요 차이점은 SQL Server 프로파일러SQL Server Profiler 는 데이터베이스 엔진 이벤트를 모니터링하지만 시스템 모니터는 서버 프로세스와 연관된 리소스 사용량을 모니터링하는 것입니다.The key difference between SQL Server 프로파일러SQL Server Profiler and System Monitor is that SQL Server 프로파일러SQL Server Profiler monitors Database Engine events, whereas System Monitor monitors resource usage associated with server processes.
작업 모니터 열기(SQL Server Management Studio)Open Activity Monitor (SQL Server Management Studio) SQL Server Management StudioSQL Server Management Studio 의 작업 모니터는 현재 활동의 임시 보기에 유용하고 다음에 대한 정보를 그래픽으로 표시합니다.The Activity Monitor in SQL Server Management StudioSQL Server Management Studio is useful for ad hoc views of current activity and graphically displays information about:

SQL ServerSQL Server인스턴스에서 실행 중인 프로세스Processes running on an instance of SQL ServerSQL Server.

차단된 프로세스Blocked processes.

잠금Locks.

사용자 작업User activity.
활성 쿼리 통계Live Query Statistics 쿼리 실행 단계에 대한 실시간 통계를 표시합니다.Displays real-time statistics about query execution steps. 이 데이터는 쿼리를 실행하는 동안 사용할 수 있으므로 이 실행 통계는 쿼리 성능 문제를 디버깅할 때 매우 유용합니다.Because this data is available while the query is executing, these execution statistics are extremely useful for debugging query performance issues.
SQL 추적SQL Trace Transact-SQLTransact-SQL 저장 프로시저는 다음과 같습니다. stored procedures that create, filter, and define tracing:

sp_trace_create(Transact-SQL)sp_trace_create (Transact-SQL)

sp_trace_generateevent(Transact-SQL)sp_trace_generateevent (Transact-SQL)

sp_trace_setevent(Transact-SQL)sp_trace_setevent (Transact-SQL)

sp_trace_setfilter(Transact-SQL)sp_trace_setfilter (Transact-SQL)

sp_trace_setstatus(Transact-SQL)sp_trace_setstatus (Transact-SQL)
오류 로그Error Logs Windows 응용 프로그램 이벤트 로그는 Windows Server 및 Windows 운영 체제 전체에서 발생하는 이벤트뿐만 아니라 SQL ServerSQL Server, SQL ServerSQL Server 에이전트의 이벤트와 전체 텍스트 검색을 전반적으로 보여 줍니다.The Windows application event log provides an overall picture of events occurring on the Windows Server and Windows operating systems as a whole, as well as events in SQL ServerSQL Server, SQL ServerSQL Server Agent, and full-text search. 이 이벤트 로그에는 다른 곳에서 사용할 수 없는 SQL ServerSQL Server 의 이벤트 정보가 포함됩니다.It contains information about events in SQL ServerSQL Server that is not available elsewhere. 오류 로그에 있는 정보를 사용하여 SQL ServerSQL Server와 관련 있는 문제를 해결할 수 있습니다.You can use the information in the error log to troubleshoot SQL ServerSQL Server-related problems.
시스템 저장 프로시저(Transact-SQL)System Stored Procedures (Transact-SQL) 다음 SQL ServerSQL Server 시스템 저장 프로시저는 다양한 모니터링 태스크에 대한 강력한 대체 방법을 제공합니다.The following SQL ServerSQL Server system stored procedures provide a powerful alternative for many monitoring tasks:

sp_who(Transact-SQL):sp_who (Transact-SQL):
현재 실행 중인 문을 포함한 현재 SQL ServerSQL Server 사용자와 프로세스에 대한 스냅숏 정보 및 문의 차단 여부를 보고합니다.Reports snapshot information about current SQL ServerSQL Server users and processes, including the currently executing statement and whether the statement is blocked.

sp_lock(Transact-SQL):sp_lock (Transact-SQL):
개체 ID, 인덱스 ID, 잠금 유형, 잠금이 적용되는 유형이나 리소스에 대한 스냅숏 정보를 보고합니다.Reports snapshot information about locks, including the object ID, index ID, type of lock, and type or resource to which the lock applies.

sp_spaceused(Transact-SQL):sp_spaceused (Transact-SQL):
테이블이나 전체 데이터베이스가 사용 중인 현재 예상 디스크 공간의 양을 보여 줍니다.Displays an estimate of the current amount of disk space used by a table (or a whole database).

sp_monitor(Transact-SQL):sp_monitor (Transact-SQL):
sp_monitor 가 마지막으로 실행된 이후의 CPU 사용량, I/O 사용량 및 유휴 시간 양을 포함하는 통계를 표시합니다.Displays statistics, including CPU usage, I/O usage, and the amount of time idle since sp_monitor was last executed.
DBCC(Transact-SQL)DBCC (Transact-SQL) DBCC(데이터베이스 콘솔 명령) 문을 사용하면 성능 통계 및 데이터베이스의 논리적, 물리적 일관성을 검사할 수 있습니다.DBCC (Database Console Command) statements enable you to check performance statistics and the logical and physical consistency of a database.
기본 제공 함수s(Transact-SQL)Built-in Functions (Transact-SQL) 기본 제공 함수는 서버가 시작된 이후 SQL ServerSQL Server 작업에 대한 스냅숏 통계를 표시하며 이러한 통계는 미리 정의된 SQL ServerSQL Server 카운터에 저장됩니다.Built-in functions display snapshot statistics about SQL ServerSQL Server activity since the server was started; these statistics are stored in predefined SQL ServerSQL Server counters. 예를 들어 @@CPU_BUSY에는 CPU가 SQL ServerSQL Server 코드를 실행한 시간이 포함되고 @@CONNECTIONS에는 SQL ServerSQL Server 연결 수나 시도 횟수가 포함되며 @@PACKET_ERRORS에는 SQL ServerSQL Server 연결에서 발생한 네트워크 패킷 수가 포함됩니다.For example, @@CPU_BUSY contains the amount of time the CPU has been executing SQL ServerSQL Server code; @@CONNECTIONS contains the number of SQL ServerSQL Server connections or attempted connections; and @@PACKET_ERRORS contains the number of network packets occurring on SQL ServerSQL Server connections.
추적 플래그(Transact-SQL)Trace Flags (Transact-SQL) 추적 플래그는 서버에서 특정 작업에 대한 정보를 표시하며 문제점이나 교착 상태 체인과 같은 성능 문제를 진단하는 데 사용됩니다.Trace flags display information about a specific activity within the server and are used to diagnose problems or performance issues (for example, deadlock chains).
데이터베이스 엔진 튜닝 관리자Database Engine Tuning Advisor 데이터베이스 엔진 튜닝 관리자는 튜닝할 데이터베이스에 대해 실행된 Transact-SQLTransact-SQL 문의 성능 영향을 분석합니다.Database Engine Tuning Advisor analyzes the performance effects of Transact-SQLTransact-SQL statements executed against databases you want to tune. 데이터베이스 엔진 튜닝 관리자는 인덱스, 인덱싱된 뷰 및 분할의 추가, 제거 또는 수정에 대한 권장 구성을 제공합니다.Database Engine Tuning Advisor provides recommendations to add, remove, or modify indexes, indexed views, and partitioning.

모니터링 도구 선택Choosing a Monitoring Tool

모니터링 도구 선택은 모니터링할 이벤트나 작업에 따라 결정됩니다.The choice of a monitoring tool depends on the event or activity to be monitored.

이벤트/작업Event or activity SQL Server 프로파일러SQL Server Profiler Distributed ReplayDistributed Replay 시스템 모니터System Monitor 작업 모니터Activity Monitor Transact-SQLTransact-SQL 오류 로그Error logs
추세 분석Trend analysis Yes Yes
캡처한 이벤트 재생Replaying captured events 예(단일 컴퓨터에서)Yes (From a single computer) 예(여러 컴퓨터에서)Yes (From multiple computers)
임시 모니터링Ad hoc monitoring Yes Yes Yes Yes
경고 생성Generating alerts Yes
그래픽 인터페이스Graphical interface Yes Yes Yes Yes
사용자 지정 응용 프로그램에서 사용Using within custom application Yes Yes

* SQL Server 프로파일러SQL Server Profiler 시스템 저장 프로시저 사용*Using SQL Server 프로파일러SQL Server Profiler system stored procedures.

Windows 모니터링 도구Windows Monitoring Tools

Windows 운영 체제와 Windows Server 2003에서도 다음과 같은 모니터링 도구를 제공합니다.Windows operating systems and Windows Server 2003 also provide these monitoring tools.

도구Tool 설명Description
작업 관리자Task Manager 시스템에서 실행 중인 프로세스 및 응용 프로그램의 개요를 보여 줍니다.Shows a synopsis of the processes and applications running on the system.
네트워크 모니터 에이전트Network Monitor Agent 네트워크 트래픽을 모니터링합니다.Monitors network traffic.

Windows 운영 체제나 Windows Server 도구에 대한 자세한 내용은 Windows 설명서를 참조하십시오.For more information about Windows operating systems or Windows Server tools, see the Windows documentation.