1. 소개 SQL Server 프로파일
1.1 무엇입니까 SQL Server 프로파일러란 무엇이고 왜 필요한가?
SQL Server Profiler는 시스템 내에서 발생하는 이벤트를 모니터링하고 캡처하기 위한 그래픽 사용자 인터페이스 도구입니다. SQL Server. 이 강력한 진단ostic 도구를 사용하면 데이터베이스 관리자와 개발자가 실시간으로 데이터베이스 엔진 활동을 관찰하여 성능 병목 현상을 식별하고, 애플리케이션 문제를 해결하고, 보안 이벤트를 감사하는 데 도움이 됩니다.
1.2 SQL Server 2025년 프로파일러: 현재 상태 및 대안
Microsoft는 더 이상 사용되지 않습니다 SQL Server 프로파일러tar팅 SQL Server 2016년 추천 확장 이벤트 대체 기술로 사용됩니다. 그러나 이 도구는 현재 사용 가능합니다. SQL Server 다음을 포함하는 버전 SQL Server 2022년에 출시되었으며 여전히 데이터베이스 전문가들 사이에서 널리 사용되고 있습니다.
1.3 이 가이드를 사용해야 하는 사람
- 이 가이드는 모니터링이 필요한 데이터베이스 관리자에게 도움이 됩니다. SQL Server 인스턴스를 생성하고, 성능 문제를 진단하고, 시스템 안정성을 보장합니다. DBA는 추적을 캡처하고, 이벤트를 분석하고, 모니터링 전략을 구현하기 위한 실질적인 지침을 얻을 수 있습니다.
- 애플리케이션 개발자는 자신의 코드가 어떻게 상호 작용하는지 이해하는 데 도움이 됩니다. SQL ServerSQL 프로파일러는 개발자가 비효율적인 쿼리를 식별하고, 애플리케이션 동작을 검증하고, 데이터베이스 관련 오류를 디버깅하는 데 도움이 됩니다.
- 성능 분석가와 컨설턴트는 워크로드 분석, 용량 계획 및 시스템 최적화를 위한 고급 기술을 습득하게 됩니다. 추적 구성, 필터링 및 분석에 대한 포괄적인 이해를 통해 철저한 데이터베이스 성능 평가가 가능합니다.
2. 이해 SQL Server 프로파일러 기본 사항
2.1 어떻게 SQL Server 프로파일러 작동
SQL Server Profiler는 SQL Trace 엔진에 연결되는 클라이언트 애플리케이션으로 작동합니다. SQL Server추적을 생성하면 데이터베이스 엔진이 지정된 이벤트를 모니터링하고 구성에 따라 이벤트를 캡처합니다. 추적 엔진은 올바르게 구성된 경우 서버 성능에 미치는 영향을 최소화하면서 이벤트 데이터를 수집합니다.
기본 SQL Trace 인프라는 데이터베이스 엔진 전반에 걸쳐 경량 이벤트 후크를 사용합니다. 추적 정의와 일치하는 이벤트가 발생하면 엔진은 관련 정보를 캡처하여 프로파일러 인터페이스로 전송하거나 파일 또는 테이블에 저장합니다. 이 아키텍처는 애플리케이션 코드를 수정하지 않고도 유연한 데이터 수집을 가능하게 합니다.
2.2 핵심 개념 및 용어
2.2.1 이벤트
이벤트는 특정 발생을 나타냅니다. SQL Server 추적 엔진이 캡처할 수 있는 이벤트입니다. 각 이벤트는 특정 데이터베이스 작업이나 시스템 활동에 해당합니다. SQL Server 프로파일러는 더 쉬운 구성을 위해 이벤트를 논리적 범주로 구성합니다.
일반적인 이벤트 범주로는 쿼리 실행을 위한 TSQL, 프로시저 호출을 위한 저장 프로시저, 동시성 모니터링을 위한 잠금, 예외 추적을 위한 오류 및 경고 등이 있습니다. 적절한 이벤트를 선택하면 추적에서 수집하는 정보가 결정되고, 추적의 유용성과 성능 오버헤드에 직접적인 영향을 미칩니다.
이벤트 유형을 이해하면 효과적인 추적을 구성하는 데 도움이 됩니다. RPC:Completed 이벤트는 원격 프로시저 호출 완료를 캡처하고, SQL:BatchCompleted 이벤트는 임시 쿼리 배치를 추적하며, Lock:Deadlock 이벤트는 교착 상태 발생을 식별합니다. 특정 문제 해결 또는 모니터링 목표에 맞는 이벤트를 선택하세요.
2.2.2 데이터 열
데이터 열은 추적이 각 이벤트에 대해 수집하는 정보를 정의합니다. 일반적인 열은 실제 SQL 문을 나타내는 TextData, 실행 시간을 나타내는 Duration, 프로세서 사용률을 나타내는 CPU, 논리적 디스크 읽기를 나타내는 Reads, 논리적 디스크 쓰기를 나타내는 Writes입니다.
필수 열은 사용 사례에 따라 다릅니다. 성능 문제 해결에는 일반적으로 Duration, CPU, Reads 및 Writes 열이 필요합니다. 보안 감사에는 LoginName, DatabaseName 및 ObjectName 열이 필요합니다. 애플리케이션 디버깅에는 ApplicationName, SPID 및 Error 열이 유용합니다.
필요한 열만 선택하면 추적 오버헤드가 줄어들고 분석이 간소화됩니다. 특별히 필요한 경우가 아니면 사용 가능한 모든 열을 캡처하지 마십시오. 열이 추가될 때마다 수집 및 처리되는 데이터 양이 증가하여 서버 성능에 영향을 미칠 수 있습니다.
2.2.3 필터
필터는 지정된 기준에 따라 추적에서 캡처하는 이벤트를 제한합니다. 필터를 적절하게 구성하면 추적 볼륨이 크게 줄어들어 분석 관리가 용이해지고 성능에 미치는 영향이 최소화됩니다. 필터는 캡처 전에 이벤트 데이터를 평가하여 불필요한 데이터 수집을 방지합니다.
일반적인 필터 기준으로는 특정 데이터베이스에 초점을 맞추는 DatabaseName, 특정 애플리케이션을 분리하는 ApplicationName, 느린 작업만 캡처하는 Duration, 특정 사용자를 추적하는 LoginName 등이 있습니다. 여러 필터를 조합하면 필요한 정보를 정확하게 포착하는 정밀한 추적 정의가 생성됩니다.
성능 중심 필터링은 프로덕션 환경에 필수적입니다. 시스템 활동 캡처를 방지하려면 항상 DatabaseName 또는 ApplicationName으로 필터링하세요. 빠르게 실행되는 쿼리를 무시하려면 최소 Duration 임계값을 설정하세요. TextData 필터는 문자열 비교를 필요로 하므로 오버헤드가 증가하므로 신중하게 사용하세요.
2.2.4 추적 템플릿
추적 템플릿은 일반적인 시나리오에 대한 사전 구성된 이벤트, 열 및 필터 선택 항목을 제공합니다. SQL Server Profiler에는 다음과 같은 기능을 하는 여러 내장 템플릿이 포함되어 있습니다.tar추적 생성을 위한 설정 지점. 사용자 지정 템플릿은 여러 추적 세션에서 재사용할 수 있도록 구성을 저장합니다.
표준 템플릿은 기본 모니터링에 적합한 일반적인 이벤트 집합을 캡처합니다. TSQL 템플릿은 최소한의 오버헤드로 쿼리 실행에 집중합니다. 튜닝 템플릿은 데이터베이스 엔진 튜닝 어드바이저 분석을 위해 특별히 이벤트를 수집합니다. 각 템플릿은 정보 수집과 성능 영향 간의 균형을 유지합니다.
사용자 지정 템플릿을 만들면 시간을 절약하고 추적 세션 전체의 일관성을 유지할 수 있습니다. 원하는 이벤트, 열, 필터로 추적을 구성한 후 템플릿으로 저장하세요. 사용자 지정 템플릿은 유사한 문제를 반복적으로 해결할 때 특히 유용합니다.
3. S 얻기tar테드와 함께 SQL Server 프로파일
3.1 시스템 요구 사항 및 전제 조건
SQL Server Profiler는 다음과 함께 제공됩니다. SQL Server Management Studio 및 현재 유지 관리되는 모든 것을 지원합니다. SQL Server 버전, 에서 SQL Server 2016에 2022.
권한 요구 사항은 추적을 만들고 실행할 수 있는 사용자를 결정합니다. sysadmin 고정 서버 역할의 구성원은 다음에 대한 무제한 액세스 권한을 갖습니다. SQL Server 프로파일러 기능. 시스템 관리자가 아닌 사용자의 경우, ALTER TRACE 권한은 추적을 생성하고 관리할 수 있는 권한을 부여합니다.
원격 서버를 추적할 때는 네트워크 고려 사항이 적용됩니다. 클라이언트 측 추적에는 워크스테이션과 서버 간에 지속적인 네트워크 연결이 필요합니다. SQL Server 연결이 중단되면 클라이언트 측 추적이 중단되어 캡처된 데이터가 손실될 수 있습니다. 서버 측 추적은 데이터베이스 서버에서만 실행되므로 이러한 제한을 피할 수 있습니다.
3.2 출시 방법 SQL Server 프로파일
3.2.1 Star에서 팅 SQL Server 관리 스튜디오(SSMS)
다음 단계에 따라 시작하세요. SQL Server SSMS의 프로파일러:
- 엽니다 SQL Server Management Studio 및 모든 연결 SQL Server 예.
- 클릭 도구 상단 메뉴바의 메뉴.
- 클라임웍스와 함께 하늘과 닿는 여정을 시작하세요 SQL Server 프로파일 드롭 다운 메뉴에서
- The SQL Server 프로파일러 애플리케이션이 새 창에서 실행됩니다.
3.2.2 StarWindows S에서 tingtart 메뉴
Access SQL Server 다음 단계에 따라 Windows에서 직접 프로파일러를 실행하세요.
- Windows를 클릭하세요 Start 버튼을 클릭합니다.
- 타입 SQL Server 프로파일 검색 창에
- 클라임웍스와 함께 하늘과 닿는 여정을 시작하세요 SQL Server 프로파일 검색 결과에서.
- 활성 연결 없이 애플리케이션이 실행됩니다.
또는 S를 통해 탐색하세요.tart 메뉴 히에rar챠이:
- 열기 Start 메뉴를 선택합니다.
- 위치 찾기 Microsoft SQL Server 도구 폴더에 있습니다.
- 폴더를 확장하고 클릭하세요 SQL Server 프로파일.
3.2.3 연결하기 SQL Server 인스턴스
런칭 후 SQL Server 프로파일러에서 다음 단계에 따라 연결을 설정합니다.
- 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에 메뉴 모음에 있습니다.
- 클라임웍스와 함께 하늘과 닿는 여정을 시작하세요 새로운 추적 드롭 다운 메뉴에서
- The 서버에 연결 대화 상자가 나타납니다.
- 서버 이름을 입력하세요 서버 이름 입력란입니다.
- 왼쪽 메뉴에서 Windows 인증 or SQL Server 인증.
- 사용하는 경우 SQL Server 인증을 위해 로그인 정보를 입력하세요.
- 연결하기 연결을 설정합니다.
원격 연결의 경우 해당되는 경우 인스턴스 이름을 포함한 전체 서버 이름을 지정하십시오.cab명명된 인스턴스에는 SERVERNAME\INSTANCENAME 형식을 사용하세요. 연결 시도가 실패할 경우 네트워크 연결 및 방화벽 설정을 확인하세요.
4. 생성 및 구성 SQL Server 추적
4.1 템플릿을 사용하여 첫 번째 추적 만들기
다음 단계에 따라 첫 번째 추적을 만듭니다.
- 실행 SQL Server 프로파일 러.
- 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에 -> 새로운 추적 그리고 당신에게 연결하세요 tar서버를 받으세요.
- The 추적 속성 대화 상자가 나타납니다.
- 설명적인 이름을 입력하세요 추적 이름 입력란입니다.
- 에서 템플릿을 선택합니다. 템플릿을 사용하세요 쓰러지 다.
- 선택 표준(기본값) 일반 모니터링을 위한 템플릿입니다. 또는 다른 목적을 위한 템플릿입니다. 이 템플릿은 일반적인 시나리오에 맞춰 미리 구성된 이벤트, 열 및 필터를 제공합니다.
- 달리기 그것은tar이벤트를 즉시 포착하지 못함.
4.2 추적 사용자 정의
템플릿이 요구 사항을 충족하지 못하는 경우가 많습니다. 이 경우 추적을 완전히 사용자 지정할 수 있습니다.
- . 추적 속성 대화.
- 선택 공백 템플릿에서 템플릿을 사용하세요 쓰러지 다.
- 클릭 이벤트 선택 이제 모든 이벤트, 데이터 열, 필터를 요구 사항에 맞게 사용자 지정할 수 있습니다. 자세한 내용은 다음 섹션에서 살펴보겠습니다.
4.3 캡처할 이벤트 선택
이벤트를 선택할 수 있습니다 이벤트 선택 탭 :
- 클릭 + 이벤트 카테고리 옆에 있는 아이콘을 클릭하여 확장하세요.
- 이벤트 옆에 있는 확인란을 클릭하여 선택하세요.
4.3.1 이벤트 범주 이해
SQL Server 프로파일러는 논리적 그룹화를 위해 이벤트를 범주별로 정리합니다. 저장 프로시저 범주에는 SP:S를 포함한 프로시저 실행 이벤트가 포함됩니다.tarting, SP:Completed 및 SP:StmtCompleted. 이러한 이벤트는 저장 프로시저 호출과 프로시저 내의 개별 명령문 실행을 추적합니다.
TSQL 카테고리는 SQL:BatchS와 같은 이벤트로 임시 쿼리 실행을 캡처합니다.tarting 및 SQL:BatchCompleted. 이러한 이벤트는 직접 제출된 쿼리를 추적합니다. SQL Server 저장 프로시저 외부에서.
잠금(Lock) 범주는 잠금 획득(Lock:Acquired), 잠금 해제(Lock:Released), 잠금 교착 상태(Lock:Deadlock), 잠금 시간 초과(Lock:Timeout)를 포함한 동시성 관련 이벤트를 모니터링합니다. 이러한 이벤트를 사용하여 애플리케이션 성능에 영향을 미치는 차단 및 교착 상태 문제를 진단합니다.
오류 및 경고 범주는 예외, 주의, 사용자 오류 메시지를 포함한 예외 이벤트를 포착합니다. 이러한 이벤트는 애플리케이션 오류를 식별하는 데 도움이 됩니다. SQL Server 추적 세션 중 경고.
4.3.2 시나리오에 맞는 올바른 이벤트 선택
성능 모니터링에는 리소스 소비를 포착하는 이벤트가 필요합니다. 쿼리 실행을 추적하려면 RPC:Completed 및 SQL:BatchCompleted를 선택하세요. 리소스 사용량을 측정하려면 Duration, CPU, Reads 및 Writes 열을 포함하세요. 이러한 이벤트는 성능 병목 현상을 파악하는 데 필요한 기반을 제공합니다.
보안 감사에는 인증 및 권한 부여를 추적하는 이벤트가 필요합니다. 데이터베이스 액세스를 모니터링하려면 '로그인 감사', '로그아웃 감사', '로그인 실패 감사', '개체:열림'을 선택하세요. 누가 어떤 리소스에 액세스했는지 식별하려면 '로그인 이름', '데이터베이스 이름', '개체 이름' 열을 포함하세요.
디버깅 시나리오는 포괄적인 이벤트 캡처를 통해 이점을 얻을 수 있습니다. 저장 프로시저 이벤트, SQL 배치 이벤트 및 오류 이벤트를 포함하여 전체 실행 흐름을 추적합니다. SPID, ApplicationName 및 H를 사용하여 추가 컨텍스트를 캡처합니다.ost특정 세션과 이벤트를 연관시키기 위해 열에 이름을 지정합니다.
4.4 데이터 열 구성
기본적으로 이벤트를 선택하면 모든 데이터 열이 선택(체크)됩니다. 불필요한 열의 선택을 해제하여 오버헤드를 줄이고 분석을 간소화할 수 있습니다.
모든 추적에 대한 필수 열에는 이벤트 유형을 식별하는 EventClass, 실제 SQL 문을 캡처하는 TextData, 실행 중인 사용자를 식별하는 LoginName 및 S가 포함됩니다.tar이벤트가 발생한 시점의 타임스탬프입니다. 이 열은 캡처된 모든 이벤트에 대한 기본적인 맥락을 제공합니다.
성능 관련 열은 리소스 소비량을 측정합니다. 지속 시간은 이벤트 발생 시간을 마이크로초 단위로 나타냅니다. CPU는 프로세서 사용 시간을 밀리초 단위로 나타냅니다. 읽기는 논리적 페이지 읽기 횟수를, 쓰기는 논리적 페이지 쓰기 횟수를 추적합니다. 이러한 지표는 최적화가 필요한 리소스 집약적인 작업을 식별합니다.
보안 및 감사 열은 데이터 액세스 패턴을 추적합니다. DatabaseName은 액세스된 데이터베이스를 식별합니다. ObjectName은 관련 테이블 또는 객체를 지정합니다. ApplicationName은 해당 활동을 시작한 애플리케이션을 나타냅니다. 이러한 열은 포괄적인 감사 추적을 제공합니다.
4.5 노이즈 감소를 위한 필터 설정
4.5.1 공통 필터 기준
다음 방법을 사용하여 필터를 구성하세요.
- 열기 추적 속성 대화.
- 클릭 이벤트 선택 탭.
- 열 필터 오른쪽 하단의 버튼.
- 왼쪽 목록에서 열을 선택하세요.
- 오른쪽 패널에서 필터 기준을 구성하세요.
- OK 필터를 적용합니다.
애플리케이션 이름 필터는 특정 애플리케이션의 활동을 분리합니다. 필터 대화 상자에서 ApplicationName 열을 확장하고 처럼 필드 및 SQL Server 프로파일러는 해당 애플리케이션의 이벤트만 캡처합니다. 이 필터는 애플리케이션 관련 문제를 해결할 때 매우 유용합니다.
데이터베이스 이름 필터는 특정 데이터베이스로만 캡처를 제한합니다. 데이터베이스 이름으로 필터링하여 시스템 데이터베이스 활동을 제외하고 애플리케이션 데이터베이스에 집중할 수 있습니다. 데이터베이스 이름을 입력하세요. 처럼 or 같은 와일드카드 매칭이 필요한지 여부에 따라 필드가 달라집니다.
기간 필터는 느리게 실행되는 작업만 캡처합니다. 최소 임계값을 설정하세요. 크거나 같음 Duration 열 아래의 필드입니다. 예를 들어 Duration을 1000 이상으로 설정하면 1초 이상 걸리는 이벤트만 캡처되어 빠르게 실행되는 쿼리는 필터링됩니다.
사용자 이름 필터는 특정 사용자 활동을 추적합니다. 로그인 이름으로 필터링하여 특정 데이터베이스 사용자를 모니터링할 수 있습니다. 이 방법을 사용하면 문제가 있는 쿼리를 실행하거나 민감한 데이터에 액세스하는 사용자를 식별하는 데 도움이 됩니다.
4.4.2 필터 모범 사례
효과적인 필터링은 데이터 캡처와 성능 저하 간의 균형을 유지합니다. 과도한 시스템 활동 캡처를 방지하려면 항상 최소 하나 이상의 필터를 적용해야 합니다. DatabaseName 및 ApplicationName 필터는 필수입니다.tarm에 대한 ting 포인트ost 흔적.
프로덕션 환경에서는 지나치게 광범위한 추적을 피하십시오. 필터링되지 않은 추적은 엄청난 양의 데이터를 수집하여 서버 성능을 저하시키고 분석을 불가능하게 만들 수 있습니다. 특정 필터 기준을 설정하여 tar문제 해결 목표를 설정하세요.
프로덕션 환경에 배포하기 전에 필터를 테스트하세요. 개발 환경이나 테스트 환경에서 추적을 먼저 실행하여 필터가 과도한 오버헤드 없이 예상 이벤트를 포착하는지 확인하세요. 캡처된 데이터의 양에 따라 필터 기준을 조정하세요.
4.5 추적 템플릿 작업
4.5.1 내장 템플릿 개요
표준 템플릿은 일반적인 모니터링에 적합한 균형 잡힌 이벤트 캡처 기능을 제공합니다. 일반적인 쿼리 실행 이벤트, 저장 프로시저 호출 및 기본적인 오류 추적 기능이 포함되어 있습니다. 무엇을 확인해야 할지 정확히 알지 못하더라도 포괄적인 가시성이 필요할 때 이 템플릿을 사용하세요.
TSQL 템플릿은 최소한의 이벤트 선택으로 쿼리 실행에 집중합니다. 성능 분석에 필요한 필수 열을 포함하여 SQL:BatchCompleted 및 RPC:Completed 이벤트를 캡처합니다. 이 템플릿은 표준 템플릿보다 오버헤드가 낮습니다.
튜닝 템플릿은 데이터베이스 엔진 튜닝 어드바이저 분석을 위한 이벤트 선택을 최적화합니다. 워크로드 분석 및 인덱스 권장 사항에 필요한 이벤트와 열을 캡처합니다. 자동 성능 튜닝을 위한 추적을 준비할 때 이 템플릿을 사용하십시오.
TSQL_Replay 템플릿에는 추적 재생 기능에 필요한 모든 이벤트와 열이 포함되어 있습니다. 포괄적인 실행 세부 정보를 캡처하여 테스트 환경에서 캡처된 워크로드를 재현할 수 있습니다. 이 템플릿은 방대한 데이터 수집으로 인해 더 큰 추적 파일을 생성합니다.
4.5.2 사용자 정의 템플릿 만들기
다음 단계에 따라 사용자 정의 템플릿을 만드세요.
- 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에 -> 템플릿 -> 새로운 템플릿…
- 설명적인 이름을 입력하세요 새 템플릿 이름 입력란입니다.
- 선택적으로 확인하십시오 기존 템플릿을 기반으로 새 템플릿 만들기 처음부터 만들고 싶지 않다면 기존 템플릿을 선택하세요:
- 클릭 이벤트 선택 탭에서 원하는 이벤트, 열 및 필터로 추적 템플릿을 사용자 정의합니다. 일반 추적으로 수행.
- 찜하기 템플릿을 저장합니다.
팀원과 공유하거나 백업 목적으로 템플릿을 내보냅니다.
- 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에 -> 템플릿 -> 템플릿 내보내기.
- 내보내려는 템플릿을 선택하세요.
- 원하는 저장 위치로 이동합니다.
- 파일 이름을 입력하고 클릭 찜하기.
- *.tdf 파일을 공유합니다(SQL Server 프로파일러 템플릿 파일)을 다른 파일과 함께 SQL Server 프로파일러 사용자.
4.6 추적 출력 저장
기본적으로, SQL Server 프로파일러는 추적 창에 이벤트를 표시하지만 저장하지는 않습니다. 추적 데이터를 파일이나 테이블에 저장할 수 있습니다. 추적 속성 새로운 추적을 생성할 때 대화 상자가 표시됩니다.
4.6.1 파일에 저장
- . 추적 속성 대화 상자, 확인 파일에 저장.
- 폴더 아이콘을 클릭하면 파일 브라우저가 열립니다.
- 원하는 저장 위치로 이동합니다.
- .trc 확장자를 가진 파일 이름을 입력하세요.
- 찜하기.
- 세트 최대 파일 크기 설정 개별 파일 크기를 제한합니다.
- 사용 파일 롤오버 활성화 여러 개의 파일을 생성합니다.
- 선택적으로 활성화 서버가 추적 데이터를 처리합니다. 서버 측 추적을 위해.
파일 크기 관리는 디스크 공간 고갈을 방지합니다. 사용 가능한 디스크 공간과 예상 추적 기간을 고려하여 최대 파일 크기를 500MB 또는 1GB와 같이 적절한 값으로 설정하세요. 파일 롤오버는 크기 제한에 도달하면 자동으로 새 파일을 생성하고 파일 이름에 숫자를 추가합니다.
4.6.2 테이블에 저장
- . 추적 속성 대화 상자, 확인 테이블에 저장.
- The 목적지 테이블 대화 상자가 나타납니다.
- 서버를 선택하세요 서버 쓰러지 다.
- 데이터베이스를 선택하세요 데이터베이스 쓰러지 다.
- 기존 테이블을 선택하거나 새 테이블 이름을 입력하세요. 작업대 입력란입니다.
- OK 확인.
- 선택적으로 설정 최대 행 수 설정 테이블 크기를 제한합니다.
테이블에 저장할 때는 성능 고려 사항이 적용됩니다. 테이블 저장소는 파일 저장소에 비해 추가적인 오버헤드를 발생시킵니다. SQL Server 추적 데이터는 저장 엔진을 통해 작성해야 합니다. T-SQL을 사용하여 추적 데이터를 즉시 쿼리해야 하는 경우 테이블 저장소를 사용하세요.
테이블 기반 추적의 경우 데이터 보존이 중요해집니다. 테이블이 너무 커지지 않도록 최대 행 수를 설정하세요. 성능 유지를 위해 오래된 추적 데이터를 정기적으로 보관하거나 삭제하세요. 관리 효율성을 높이기 위해 대규모 추적 테이블을 분할하는 것을 고려하세요.
5. 실행 및 관리 SQL Server 추적
5.1 Star추적 시작, 일시 중지 및 중지
도구 모음 버튼을 사용하여 추적 실행을 관리합니다.
- 초록 Start 버튼을 클릭하면 구성에 따라 이벤트 캡처가 시작됩니다.
- 중지 템포로rar연결을 끊지 않고도 데이터 수집을 일시 중단합니다.
- 중지 추적을 종료하고 연결을 닫습니다.
메뉴 항목을 통해:
추적 창에서 항목을 마우스 오른쪽 버튼으로 클릭합니다.
추적 수명 주기 관리는 서버 리소스에 영향을 미칩니다. 활성 추적은 캡처된 이벤트 양에 비례하여 메모리와 처리 능력을 소모합니다. 모니터링이 필요하지 않은 기간에는 추적을 일시 중지하여 오버헤드를 줄이세요. 분석이 완료되면 추적을 완전히 중지하여 리소스를 확보하세요.
클라이언트 측 추적에는 활성 프로파일러 연결이 필요합니다. SQL Server 프로파일러 창은 클라이언트 측 추적을 즉시 중지합니다. 다른 애플리케이션에서 작업하는 동안 추적을 계속 실행하려면 프로파일러 창을 닫지 말고 최소화하세요.
5.2 실시간 추적 모니터링
캡처된 이벤트가 발생하는 대로 기본 추적 창에서 모니터링합니다. 각 행은 단일 이벤트를 나타내며, 각 열에는 이벤트 속성이 표시됩니다. 추적이 활성화된 동안 그리드는 지속적으로 업데이트되어 m을 표시합니다.ost 기본적으로 하단에 최근 이벤트가 표시됩니다.
이벤트 빈도와 특성을 관찰하여 패턴과 문제를 파악합니다. 지속 시간이 긴 이벤트는 성능 문제를 나타냅니다. 빈번한 오류 이벤트는 애플리케이션 문제를 시사합니다. 비정상적인 로그인 활동은 보안 문제를 나타낼 수 있습니다. 실시간 모니터링을 통해 발생하는 문제에 즉시 대응할 수 있습니다.
캡처된 이벤트를 스크롤하여 특정 발생 항목을 살펴보세요. 행을 클릭하면 이벤트를 선택하고 전체 세부 정보를 볼 수 있습니다. 이벤트를 두 번 클릭하면 모든 열 값을 보여주는 자세한 속성 대화 상자가 열립니다. 스크롤 잠금 기능을 사용하면 이전 이벤트를 검토하는 동안 자동 스크롤을 방지할 수 있습니다.
5.3 여러 개의 동시 추적 관리
여러 추적을 동시에 실행하면 복잡한 모니터링 시나리오에 유연성을 제공합니다. 데이터베이스 활동의 다양한 측면에 대해 별도의 추적을 생성하세요. 예를 들어, 성능 모니터링 추적 하나와 보안 감사 추적 하나를 생성할 수 있습니다. 각 추적은 자체 구성을 사용하여 독립적으로 실행됩니다.
여러 개의 추적이 실행되면 리소스 할당이 중요해집니다. 활성 추적은 메모리, CPU, 그리고 잠재적으로 디스크 I/O를 소모합니다. 동시 추적 수를 제한하고 각 추적이 적절한 필터를 사용하여 오버헤드를 최소화하도록 하세요. 여러 추적을 실행하는 동안 서버 성능을 모니터링하세요.
오버헤드가 큰 추적이 중복되지 않도록 추적 타이밍을 조정하세요. 가능하면 리소스 사용량이 많은 추적은 활동이 적은 시간에 실행하세요. 모든 추적을 동시에 실행하기보다는 각기 다른 시간에 여러 추적을 예약하세요.
5.4 클라이언트 측 추적 대 서버 측 추적
기본적으로 새로 생성된 추적은 클라이언트 측 추적이며 이를 위해서는 활성 연결이 필요합니다. SQL Server 데이터베이스 서버에 대한 프로파일러입니다. 연결이 끊어지면 추적이 즉시 중지됩니다.ost 또는 Profiler가 닫혔습니다.
또한 전적으로 실행되는 서버 측 추적을 생성할 수도 있습니다. SQL Server 활성 프로파일러 연결이 필요하지 않은 인스턴스입니다. 서버 측 추적은 종료 후에도 계속 실행됩니다. SQL Server 프로파일러, 지정된 파일 위치에 데이터를 씁니다.
서버 측 추적을 생성하려면:
- 파일 -> 새 추적을 클릭합니다.
- . 추적 속성 대화 상자, 확인 파일에 저장
- 파일 위치 및 기타 설정을 지정합니다.
- 사용 서버가 추적 데이터를 처리합니다. 서버 측 추적을 생성합니다.
추적 유형에 따라 성능에 미치는 영향은 상당히 다릅니다. 클라이언트 측 추적은 네트워크를 통해 프로파일러 인터페이스로 데이터를 전송해야 하므로 지연 시간과 대역폭 소모가 증가합니다. 서버 측 추적은 데이터가 서버의 디스크에 직접 기록되므로 오버헤드가 적습니다.
임시 문제 해결 및 빠른 진단을 위해 클라이언트 측 추적을 사용합니다.ostic 세션 및 즉각적인 시각적 피드백이 중요한 상황. 프로덕션 모니터링, 장시간 캡처 및 무인 작업이 필요한 시나리오에는 서버 측 추적을 선택하세요.
6. 분석 SQL Server 프로파일러 데이터
6.1 저장된 추적 열기 및 검토
다음 단계에 따라 저장된 추적 파일을 로드합니다.
- 실행 SQL Server 프로파일 러.
- 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에 -> 엽니다 -> 추적 파일.
- 추적 파일 위치로 이동합니다.
- .trc 파일을 선택하고 클릭하세요. 엽니다.
- 추적 데이터가 메인 창에 로드됩니다.
다음 프로세스에 따라 추적 테이블을 로드합니다.
- 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에 -> 엽니다 -> 추적 테이블.
- 서버 h에 연결ost추적 테이블을 작성 중입니다.
- 데이터베이스를 선택하세요 데이터베이스 쓰러지 다.
- 다음에서 테이블을 선택하세요 작업대 쓰러지 다.
- OK 데이터를 로드합니다.
6.2 추적 데이터 필터링 및 검색
6.2.1 Post-캡처 필터링
다음 단계에 따라 로드된 추적 데이터에 필터를 적용합니다.
- 편집 -> Find 또는 누르십시오 Ctrl 키 + F.
- 검색어를 입력하세요 무엇을 찾기 입력란입니다.
- 검색할 열을 선택하세요 잠깐 들여다보다 쓰러지 다.
- 다음 찾기 일치하는 이벤트를 찾습니다.
열 기반 필터링은 이벤트를 다시 캡처하지 않고 표시되는 데이터를 정제합니다. 열 헤더를 마우스 오른쪽 버튼으로 클릭하고 상황에 맞는 메뉴에서 필터 옵션을 선택하세요. 필터 기준을 입력하여 일치하는 행만 표시하세요. 이 방식은 관련 없는 이벤트를 숨겨 분석 속도를 높입니다.
6.2.2 특정 이벤트 찾기
검색 기능을 사용하면 대용량 추적 파일에서 특정 이벤트를 쉽게 찾을 수 있습니다. 찾기 대화 상자를 사용하여 텍스트 내용, 이벤트 유형 또는 열 값으로 검색할 수 있습니다. 정규 표현식을 사용하면 필요에 따라 복잡한 검색 패턴을 사용할 수 있습니다.
분석 중 빠르게 참조할 수 있도록 중요한 이벤트를 북마크하세요. 관심 있는 이벤트를 마우스 오른쪽 버튼으로 클릭하고 북마크 옵션을 선택하여 표시할 수 있습니다. 키보드 단축키나 메뉴 명령을 사용하여 북마크 간을 탐색하고 관련 이벤트를 쉽게 비교할 수 있습니다.
6.3 이벤트 그룹화 및 집계
패턴을 파악하고 활동을 요약하기 위해 열 값별로 이벤트를 그룹화합니다. 열 머리글을 마우스 오른쪽 버튼으로 클릭하고 다음을 선택합니다. 이 열로 그룹화 이벤트를 정리할 때 유용합니다. 그룹화된 뷰는 유사한 이벤트를 함께 축소하여 전체적인 패턴을 더 쉽게 파악할 수 있도록 도와줍니다.
집계된 뷰는 추적 데이터의 통계적 요약을 제공합니다. TextData별로 그룹화하면 각 쿼리가 실행된 횟수를 확인할 수 있습니다. LoginName별로 그룹화하면 사용자별 활동 요약을 확인할 수 있습니다. 집계를 통해 자세한 이벤트 목록에서는 바로 파악하기 어려운 패턴을 파악할 수 있습니다.
그룹을 확장하거나 축소하여 특정 범주를 자세히 살펴볼 수 있습니다. 그룹 헤더 옆에 있는 더하기 및 빼기 아이콘을 클릭하면 그룹화된 이벤트를 표시하거나 숨길 수 있습니다.rarchical view는 상향식 분석을 용이하게 합니다.tar높은 수준의 패턴을 사용하고 세부 사항을 탐구합니다.
6.4 추적에서 SQL 쿼리 추출
다음 단계에 따라 추적 데이터에서 쿼리를 추출합니다.
- 추적 그리드에서 관심 있는 쿼리를 찾습니다.
- 이벤트를 선택하려면 행을 클릭하세요.
- 하단 패널에서 전체 쿼리 텍스트를 확인하세요.
- PR 기사 Ctrl + 모든 쿼리 텍스트를 선택합니다.
- PR 기사 Ctrl + C 쿼리 텍스트를 복사합니다.
- 추가 분석을 위해 쿼리를 Management Studio에 붙여넣습니다.
성능 열을 기준으로 정렬하여 문제가 있는 쿼리를 파악하세요. 실행 시간별로 정렬하려면 '기간' 열 헤더를 클릭하세요. 정렬 방향에 따라 가장 느린 쿼리가 맨 위 또는 맨 아래에 표시됩니다. 마찬가지로, CPU, 읽기 또는 쓰기를 기준으로 정렬하여 리소스 사용량이 많은 작업을 파악하세요.
추적에서 쿼리 창으로 쿼리를 복사하여 테스트용으로 내보냅니다. 추출된 쿼리를 수정하여 최적화 전략을 테스트합니다. 원본 버전과 최적화된 버전의 실행 계획 및 성능 지표를 비교합니다.
6.5 이벤트 상관 관계 및 실행 흐름 이해
부모-자식 이벤트 관계는 실행을 보여줍니다.rarchies. SQL:BatchStarting 이벤트 부모 SQL:StmtStarting 이벤트는 부모 프로시저 실행 이벤트와 관련이 있습니다. 이러한 관계를 이해하면 코드 전체의 실행 경로를 추적하는 데 도움이 됩니다.
트랜잭션 추적은 시간 경과에 따라 관련 이벤트를 연결합니다. SPID 열을 사용하여 세션별로 이벤트를 그룹화할 수 있습니다. 세션 내에서 이벤트는 시간 순서대로 발생하며, 작업 순서를 보여줍니다. 이 뷰는 트랜잭션 내에서 여러 작업이 어떻게 상호 작용하는지 보여줍니다.
공유 열 값을 검사하여 이벤트의 상관 관계를 분석합니다. 동일한 SPID를 가진 이벤트는 동일한 세션에서 발생했습니다. 동일한 ApplicationName을 가진 이벤트는 동일한 애플리케이션에서 발생했습니다. 이러한 상관 관계를 사용하여 복잡한 실행 시나리오를 이해할 수 있습니다.
7. 공통의 SQL Server 프로파일러 사용 사례
7.1 성능 문제 해결
7.1.1 느린 쿼리 식별
다음 구성을 사용하여 느린 쿼리를 캡처합니다.
- 다음을 사용하여 새 추적을 만듭니다. 티SQL 주형.
- . 이벤트 선택 탭, 확인 SQL:배치 완료 RPC:완료 가 선택됩니다.
- 열 필터.
- 클라임웍스와 함께 하늘과 닿는 여정을 시작하세요 런닝타임 열 목록에서.
- 1000000을 입력하세요 크거나 같음 1초 이상 걸리는 쿼리를 캡처하는 필드입니다.
- OK 및 star흔적을 남기지 마세요.
- 최대 사용 기간 동안 추적을 실행합니다.
- 추적을 중지하고 기간별로 정렬하여 가장 느린 쿼리를 식별합니다.
기간 기반 분석은 실행 시간 패턴을 보여줍니다. 캡처된 이벤트를 기간 열별로 정렬하면 가장 오래 실행된 작업이 먼저 표시됩니다. 이러한 이벤트의 TextData 열을 검토하여 지연을 유발한 실제 쿼리를 파악합니다.
CPU 및 I/O 집약적인 쿼리는 서로 다른 최적화 접근 방식을 필요로 합니다. 알고리즘 개선이 필요한 프로세서 집약적인 쿼리를 찾으려면 CPU 열별로 정렬하세요. 인덱싱 또는 쿼리 재작성으로 이점을 얻을 수 있는 I/O 집약적인 쿼리를 찾으려면 읽기 또는 쓰기 열별로 정렬하세요.
7.1.2 차단 및 교착 상태 감지
다음 단계에 따라 차단 감지를 구성하세요.
- 새로운 추적을 만듭니다.
- . 이벤트 선택 탭, 확장 잠금.
- 클라임웍스와 함께 하늘과 닿는 여정을 시작하세요 잠금:교착 상태 잠금:교착 상태 체인.
- AI Physics로 발견의 범위 확장 오류 및 경고.
- 클라임웍스와 함께 하늘과 닿는 여정을 시작하세요 차단된 프로세스 보고서.
- 열 포함: SPID, 텍스트데이터, 데이터베이스 이름, 로그인 이름.
- Star추적하고 잠금 이벤트를 모니터링합니다.
잠금 이벤트 모니터링은 애플리케이션 성능에 영향을 미치는 동시성 문제를 드러냅니다. 잠금:교착 상태 이벤트는 다음과 같은 경우를 나타냅니다. SQL Server 감지되고 해결된 교착 상태 상황. 잠금:교착 상태 체인 이벤트는 교착 상태에 관련된 프로세스를 보여줍니다.
교착 상태 그래프는 교착 상태 시나리오를 시각적으로 표현합니다. 교착 상태 이벤트가 발생하면 TextData 열에 교착 상태를 설명하는 XML이 포함됩니다. 이 XML을 복사하여 다음에서 엽니다. SQL Server Management Studio에서 서로를 차단한 프로세스를 보여주는 그래픽 교착 상태 다이어그램을 볼 수 있습니다.
7.1.3 누락된 인덱스 찾기
다음 단계를 사용하여 인덱스 분석을 위한 작업 부하를 캡처합니다.
- 다음을 사용하여 새 추적을 만듭니다. 동조 주형.
- 추적을 구성하여 파일에 저장합니다.
- 대표적인 작업 부하 기간 동안 추적을 실행합니다.
- 최소한 몇 시간 분량의 활동을 수집하세요.
- 추적을 중지하고 파일을 저장합니다.
- 데이터베이스 엔진 튜닝 어드바이저를 시작합니다.
- 추적 파일을 워크로드 소스로 선택합니다.
- 분석을 실행하여 인덱스 추천을 받으세요.
데이터베이스 엔진 튜닝 어드바이저와의 통합으로 인덱스 추천이 자동화됩니다. 튜닝 어드바이저는 캡처된 워크로드를 분석하고 성능 향상에 도움이 되는 인덱스를 제안합니다. 구현 전에 스토리지 오버헤드와 유지 관리 비용을 고려하여 권장 사항을 신중하게 검토하십시오.osts.
7.2 애플리케이션 문제 해결
7.2.1 애플리케이션 오류 디버깅
다음 구성을 사용하여 애플리케이션 오류를 추적하세요.
- 새로운 추적을 만듭니다.
- AI Physics로 발견의 범위 확장 오류 및 경고 이벤트 선택 탭에서.
- 클라임웍스와 함께 하늘과 닿는 여정을 시작하세요 예외, 사용자 오류 메시지예산 및 참고.
- 열 포함: 오류, 텍스트데이터, 애플리케이션 이름, SPID.
- 태그 애플리케이션 이름 귀하의 신청에 집중하세요.
- Star추적하고 오류 시나리오를 재현합니다.
- 진단을 위해 캡처된 오류 이벤트를 검토합니다.ostic 정보.
오류 추적은 애플리케이션에서 종종 숨겨져 있는 예외 세부 정보를 보여줍니다. 오류 열에는 다음이 포함됩니다. SQL Server 오류 번호. TextData 열은 오류 메시지와 오류를 발생시킨 쿼리를 표시합니다. 심각도 열은 오류 심각도 수준을 나타냅니다.
예외 모니터링은 제약 조건 위반, 권한 오류, 시간 초과 이벤트 등 런타임 문제를 포착합니다. 오류 이벤트와 이전 쿼리 이벤트의 상관 관계를 분석하여 예외 발생 원인을 파악합니다.
7.2.2 애플리케이션-데이터베이스 통신 추적
다음 단계에 따라 애플리케이션 활동을 모니터링하세요.
- 다음을 사용하여 새 추적을 만듭니다. Standard 주형.
- 열 필터.
- 클라임웍스와 함께 하늘과 닿는 여정을 시작하세요 애플리케이션 이름 그리고 애플리케이션 이름을 입력하세요 처럼 입력란입니다.
- 선택적으로 필터링 Host이름 특정 서버를 격리합니다.
- Star애플리케이션 작업 중 추적.
- 캡처된 이벤트를 검토하여 모든 데이터베이스 상호 작용을 확인합니다.
애플리케이션 이름 필터링은 특정 애플리케이션의 쿼리를 분리합니다. SQL Server 연결 문자열에서 애플리케이션 이름을 설정하여 다중 애플리케이션 환경에서 개별 애플리케이션을 쉽게 추적할 수 있습니다. 효과적인 필터링을 위해 연결 문자열에 애플리케이션 이름 매개변수가 포함되어 있는지 확인하세요.
연결 추적은 로그인, 쿼리 실행, 로그아웃 이벤트를 포함한 세션 수명 주기를 보여줍니다. 연결 생성률을 모니터링하여 연결 풀링 문제를 파악합니다. 과도한 연결 변동은 잠재적인 애플리케이션 구성 문제를 나타냅니다.
7.2.3 애플리케이션 동작 검증
추적 분석을 사용하여 예상 애플리케이션 동작을 검증합니다. 비즈니스 트랜잭션 중 모든 데이터베이스 작업을 캡처하고 올바른 쿼리가 올바른 순서대로 실행되는지 확인합니다. 실제 캡처된 쿼리를 예상 동작과 비교하여 불일치 사항을 파악합니다.
매개변수 검증은 애플리케이션이 저장 프로시저와 매개변수화된 쿼리에 올바른 값을 전달하는지 확인합니다. 캡처된 쿼리 텍스트를 검토하여 매개변수 값이 예상과 일치하는지 확인합니다. 잘못된 매개변수는 종종 논리적 오류를 유발하여 잘못된 비즈니스 결과를 초래합니다.
7.3 보안 감사
7.3.1 로그인 시도 모니터링
다음 단계에 따라 로그인 모니터링을 구성하세요.
- 새로운 추적을 만듭니다.
- AI Physics로 발견의 범위 확장 보안 감사 이벤트 선택 탭에서.
- 클라임웍스와 함께 하늘과 닿는 여정을 시작하세요 감사 로그인, 감사 로그아웃예산 및 감사 로그인 실패.
- 열 포함: 로그인 이름, Host이름, 애플리케이션 이름, Start시간.
- Star인증 활동을 모니터링하기 위한 추적입니다.
- 잠재적인 보안 문제를 파악하기 위해 로그인 실패 이벤트를 검토합니다.
성공 및 실패한 로그인은 포괄적인 인증 추적 기능을 제공합니다. 감사 로그인 이벤트는 사용자 신원 및 출처 정보와 함께 성공한 인증 시도를 기록합니다. 감사 로그인 실패 이벤트는 공격 또는 구성 문제를 나타낼 수 있는 실패한 로그인 시도를 나타냅니다.
인증 추적을 통해 데이터베이스 접근 패턴을 파악할 수 있습니다. 로그인 빈도를 모니터링하여 비정상적인 활동을 감지하세요. 여러 번의 로그인 실패 후 로그인에 성공하면 자격 증명이 유출되었을 가능성이 있습니다. 예상치 못한 위치에서 로그인이 실패한 경우 조사가 필요합니다.
7.3.2 데이터 접근 및 수정 추적
이 구성을 사용하여 데이터 액세스를 모니터링합니다.
- 새로운 추적을 만듭니다.
- AI Physics로 발견의 범위 확장 보안 감사.
- 클라임웍스와 함께 하늘과 닿는 여정을 시작하세요 데이터베이스 개체 액세스 감사.
- 열 포함: 객체 이름, 로그인 이름, 텍스트데이터, 데이터베이스 이름.
- 태그 객체 이름 특정 민감한 테이블을 모니터링합니다.
- Star접근 시도를 포착하기 위한 추적입니다.
SELECT, INSERT, UPDATE, DELETE 추적 기능은 포괄적인 데이터 수정 감사 기능을 제공합니다. 적절한 필터를 사용하여 SQL:BatchCompleted 이벤트를 캡처하여 모든 데이터 액세스 작업을 모니터링합니다. ObjectName 또는 TextData로 필터링하여 중요한 테이블에 집중적으로 작업합니다.
민감한 데이터 접근은 보안 정책 준수를 위해 면밀한 모니터링이 필요합니다. 개인 정보, 재무 데이터 또는 기타 기밀 정보가 포함된 테이블에 대한 추적을 생성하세요. 부적절한 데이터 접근을 파악하기 위해 접근 패턴을 정기적으로 검토하세요.
캡처된 추적 정보에서 쿼리 패턴을 분석하여 의심스러운 활동을 탐지합니다. 정상적인 애플리케이션 동작과 일치하지 않는 비정상적인 쿼리를 찾아냅니다. WHERE 절 없이 전체 테이블을 검색하는 SELECT 문은 데이터 유출 시도를 나타낼 수 있습니다.
권한 상승 시도는 권한 오류 또는 관리 명령 실행 시도로 나타납니다. 시스템 테이블 액세스, 서버 구성 수정 또는 권한 있는 계정 생성을 시도하는 쿼리를 모니터링하세요. 오류 이벤트를 필터링하고 TextData 열에서 의심스러운 활동을 검토하세요.
7.4 용량 계획 및 작업 부하 분석
정상 운영 중 대표적인 워크로드를 포착하여 기준선을 설정합니다. 일반적인 업무 시간 동안 추적을 실행하여 표준 활동 패턴을 파악합니다. 이러한 추적을 향후 비교를 위해 성능 기준선으로 저장합니다.
최대 사용량 식별 기능을 통해 시스템에 최대 부하가 발생하는 시점을 파악할 수 있습니다. 업무 시간, 일괄 처리 기간, 업무 시간 외 활동 등 다양한 시간대에 걸쳐 추적 정보를 수집합니다. 이벤트 수와 리소스 사용량을 분석하여 최대 부하 발생 시간대를 파악할 수 있습니다.
워크로드 분석을 통해 리소스 사용 패턴을 파악할 수 있습니다. 이벤트를 시간 간격으로 그룹화하여 하루 종일 활동 분포를 확인하세요. CPU, 디스크 I/O, 지속 시간 지표를 종합적으로 계산하여 리소스 소비량을 정량화하세요. 이 데이터를 활용하여 용량 업그레이드를 계획하거나 최적화 기회를 파악하세요.
8. 많은 SQL Server 프로파일러 기술
8.1 T-SQL을 사용하여 서버 측 추적 만들기
8.1.1 sp_trace_create 및 관련 프로시저 사용
T-SQL 저장 프로시저를 사용하여 프로그래밍 방식으로 서버 측 추적을 생성합니다. 이 접근 방식을 사용하면 다음을 수행하지 않고도 추적을 자동으로 생성하고 관리할 수 있습니다. SQL Server 프로파일러의 그래픽 인터페이스.
다음 예제 코드를 사용하여 서버 측 추적을 정의합니다.
- 추적 ID와 파일 경로에 대한 변수를 선언합니다.
- sp_trace_create를 호출하여 새로운 추적을 생성합니다.
- sp_trace_setevent를 사용하여 이벤트와 열을 추가합니다.
- 선택적으로 sp_trace_setfilter를 사용하여 필터를 구성합니다.
- sp_trace_setstatus를 s로 호출합니다.tar흔적을 남기지 마세요.
sp_trace_create 프로시저는 새 추적 정의를 초기화합니다. 출력 파일 경로, 최대 파일 크기 및 롤오버 옵션을 지정합니다. 이 프로시저는 후속 프로시저 호출에서 추적을 구성하는 데 사용되는 추적 ID를 반환합니다.
sp_trace_setevent 프로시저를 사용하여 이벤트를 추가합니다. 캡처할 각 이벤트-열 조합에 대해 추적 ID, 이벤트 ID 및 열 ID를 지정합니다. 완전한 추적 구성을 구축하려면 이 프로시저를 여러 번 호출합니다.
sp_trace_setfilter 프로시저를 사용하여 필터를 구성합니다. 추적 ID, 열 ID, 논리 연산자, 비교 연산자 및 필터 값을 지정합니다. 여러 필터 호출을 결합하면 복잡한 필터 조건이 생성됩니다.
Starsp_trace_setstatus를 상태 값 1로 호출하여 추적을 중지합니다. 동일한 프로시저를 상태 값 0으로 호출하여 추적을 중지합니다. 상태 값 2로 호출하여 추적 정의를 삭제합니다.
8.1.2 서버 측 추적의 장점
클라이언트 오버헤드 감소로 인해 서버 측 추적은 프로덕션 모니터링에 적합합니다. 데이터베이스 서버는 클라이언트 머신 리소스를 소모하지 않고 모든 추적 작업을 처리합니다. 클라이언트 애플리케이션으로 이벤트를 전송하는 데 네트워크 대역폭이 소모되지 않습니다.
자동 실행을 통해 무인 추적 수집이 가능합니다. 서버 측 추적은 클라이언트 연결이 없어도 생성 후 계속 실행됩니다. 추적 생성 일정을 예약하려면 다음을 수행합니다. SQL Server 자동 모니터링을 위한 에이전트 작업.
서버 측 처리로 인해 성능 저하가 발생합니다. 이벤트는 추가 직렬화나 네트워크 전송 없이 디스크에 직접 기록됩니다. 버퍼 관리는 디스크 I/O를 최적화하여 전반적인 성능을 향상시킵니다.
8.2 추적 재생 기능
8.2.1 재생을 위한 추적 캡처
다음 단계에 따라 재생 준비 추적을 만듭니다.
- 다음을 사용하여 새 추적을 만듭니다. TSQL_재생 주형.
- 모든 필수 이벤트와 열이 선택되었는지 확인하세요.
- 추적을 구성하여 파일에 저장합니다.
- 캡처하려는 작업 기간 동안 추적을 실행합니다.
- 추적을 중지하고 파일을 저장합니다.
필수 이벤트와 열은 완벽한 추적 재생을 보장합니다. TSQL_Replay 템플릿에는 필요한 모든 이벤트 유형과 데이터 열이 포함되어 있습니다. 필수 요소가 누락되면 재생이 제대로 이루어지지 않으므로, 재생 목적으로 캡처할 때는 항상 이 템플릿을 사용하십시오.
8.2.2 추적 재생
다음 단계에 따라 캡처된 작업 부하를 재생합니다.
- In SQL Server 프로파일러를 클릭하세요 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에 -> 엽니다 -> 추적 파일.
- 재생 준비 추적 파일을 선택합니다.
- 재생 -> Start.
- 에 연결 tar리플레이 대화상자에서 서버를 가져옵니다.
- 재생 순서와 타이밍을 포함한 재생 옵션을 구성합니다.
- OK 재생을 시작하려면.
- 상태 창에서 재생 진행 상황을 모니터링합니다.
재생 구성 옵션은 다음을 제어합니다. SQL Server 프로파일러는 캡처된 워크로드를 재생합니다. 시간적 관계를 유지하기 위해 캡처된 순서대로 이벤트를 재생합니다. 원래 타이밍을 유지할지, 아니면 최대한 빨리 이벤트를 재생할지 구성합니다.
8.2.3 추적 재생 사용 사례
부하 테스트는 현실적인 워크로드를 재현하여 추적 재생을 통해 이점을 얻을 수 있습니다. 운영 워크로드 추적을 캡처하고 테스트 시스템과 재생하여 실제 사용 패턴에서의 성능을 검증합니다. 동시성 설정을 조정하여 다양한 부하 수준을 시뮬레이션할 수 있습니다.
환경 마이그레이션 검증을 통해 새 시스템이 기존 워크로드를 처리할 수 있는지 확인합니다. 현재 운영 시스템의 추적 정보를 캡처하여 새 하드웨어 또는 업데이트된 시스템에서 재생합니다. SQL Server 버전. 성능 지표를 비교하여 마이그레이션으로 인해 성능이 저하되지 않는지 확인하세요.
테스트 시나리오에는 코드 변경 후 회귀 테스트, 최적화 프로그램 변경 사항 검증이 포함됩니다. SQL Server 버전 및 하드웨어 구성 스트레스 테스트. Replay는 안정적인 테스트를 위해 일관되고 반복 가능한 워크로드를 제공합니다.
8.3 SQL Profiler를 데이터베이스 엔진 튜닝 어드바이저와 통합
적절한 이벤트와 함께 추적 정보를 캡처하여 데이터베이스 엔진 튜닝 어드바이저용 워크로드 파일을 생성하세요. 튜닝 템플릿을 사용하여 분석에 필요한 모든 정보를 캡처하세요.
데이터베이스 엔진 튜닝 어드바이저를 실행하고 추적 파일을 워크로드 소스로 선택하세요. 어드바이저는 캡처된 쿼리를 분석하고 성능 향상에 도움이 되는 인덱스, 인덱싱된 뷰 또는 파티셔닝 전략을 추천합니다.
성능 최적화 워크플로는 추적 캡처와 튜닝 분석을 통합합니다. 정상 운영 중 대표적인 워크로드를 캡처하고, 튜닝 어드바이저를 사용하여 분석하고, 권장 사항을 검토하고, 개발 단계에서 제안된 변경 사항을 테스트하고, 최종적으로 승인된 변경 사항을 운영 환경에 구현합니다.
8.4 추적 수집 자동화
추적 일정을 사용하여 SQL Server 데이터를 자동으로 수집하는 에이전트 작업. sp_trace 프로시저를 사용하여 서버 측 추적을 정의하는 T-SQL 스크립트를 작성합니다. 이러한 스크립트가 특정 시간이나 간격으로 실행되도록 예약합니다.
PowerShell 자동화를 통해 정교한 추적 관리 시나리오를 구현할 수 있습니다. 추적을 생성하고, 추적 상태를 모니터링하고, 수집된 데이터를 처리하는 PowerShell 스크립트를 작성하세요. 작업 스케줄러 또는 SQL Server 에이전트.
SQL Server 에이전트 작업은 안정적인 예약 실행을 제공합니다.tar모니터링 기간 시작 시 추적을 수행하고 데이터 수집 완료 후 추적을 중지합니다. 관리자에게 실패를 알리도록 작업 알림을 구성합니다.
8.5 프로그래밍 방식으로 추적 분석
fn_trace_gettable 함수를 사용하여 T-SQL로 추적 파일을 읽습니다. 이 테이블 반환 함수는 추적 파일을 구문 분석하여 이벤트 데이터를 결과 집합으로 반환합니다. 표준 T-SQL을 사용하여 이 데이터를 쿼리하여 사용자 지정 분석을 수행합니다.
사용자 지정 분석 스크립트를 사용하면 추적 처리를 자동화할 수 있습니다. 집계 통계를 계산하고, 패턴을 식별하고, 이상 징후를 표시하는 쿼리를 작성하세요. 추적 수집이 완료된 후 이러한 스크립트가 자동으로 실행되도록 예약할 수 있습니다.
테이블에 저장된 추적 데이터를 쿼리하여 보고서를 생성합니다. 기간, 사용자 또는 애플리케이션별로 이벤트를 집계하는 뷰를 생성합니다. 데이터베이스 활동 및 성능에 대한 정기적인 인사이트를 제공하는 보고 솔루션을 구축합니다.
9. SQL Server 프로파일러 모범 사례
9.1 성능 모범 사례
9.1.1 추적 오버헤드 최소화
추적 오버헤드를 줄이려면 필요한 이벤트만 선택하세요. 이벤트 유형이 추가될수록 추적 엔진이 처리해야 하는 데이터 양이 늘어납니다. 모니터링 목표를 검토하고 해당 목표와 직접적으로 관련된 이벤트만 포함하세요.
필터를 효과적으로 사용하여 관련 없는 데이터 캡처를 방지하세요. 시스템 데이터베이스를 제외하려면 DatabaseName으로 필터링하세요. 느린 쿼리만 캡처하려면 Duration으로 필터링하세요. 특정 애플리케이션에 집중하려면 ApplicationName으로 필터링하세요. 적절한 필터링은 추적 오버헤드를 크게 줄여줍니다.
서버 측과 클라이언트 측의 고려 사항은 성능에 영향을 미칩니다. 서버 측 추적은 최소한의 오버헤드로 디스크에 직접 데이터를 기록합니다. 클라이언트 측 추적은 네트워크를 통해 이벤트를 프로파일러 인터페이스로 전송하므로 지연 시간과 대역폭 소모가 증가합니다. 프로덕션 모니터링에는 서버 측 추적을 사용하십시오.
9.1.2 추적 저장소 최적화
파일 크기 관리를 통해 디스크 공간 부족을 방지합니다. 사용 가능한 저장 공간에 맞게 최대 파일 크기를 설정하세요. 파일 롤오버를 활성화하여 단일 파일을 무한정 늘리는 대신 여러 파일을 생성할 수 있습니다. 추적 실행 중 디스크 공간을 모니터링하세요.
테이블 스토리지와 파일 스토리지는 성능 측면에서 서로 다른 장단점을 가집니다. 파일 스토리지는 스토리지 엔진을 우회하기 때문에 추적 실행 시 더 나은 성능을 제공합니다. 테이블 스토리지는 추적 데이터에 대한 T-SQL 쿼리를 지원하지만 쓰기 오버헤드가 발생합니다. 분석 요구 사항에 따라 스토리지 유형을 선택하십시오.
9.2 보안 모범 사례
권한 관리는 추적을 생성하고 실행할 수 있는 사용자를 제어합니다. 추적 기능이 필요한 신뢰할 수 있는 사용자에게만 ALTER TRACE 권한을 부여하십시오. sysadmin 역할의 구성원은 제한 없는 추적 접근 권한을 갖습니다. 추적 권한을 정기적으로 검토하고 감사하십시오.
민감한 데이터 보호에는 신중한 추적 구성이 필요합니다. 민감한 데이터 작업 시에는 전체 쿼리 텍스트를 캡처하지 마십시오. 기밀 정보가 포함된 추적 출력은 필터링하거나 암호화하는 것을 고려하십시오. 추적 파일은 적절한 접근 제어 기능을 갖춘 안전한 위치에 저장하십시오.
추적 파일 보안은 캡처된 데이터에 대한 무단 접근을 방지합니다. 파일 권한을 설정하여 추적 파일에 대한 접근을 제한하세요. 민감한 정보가 포함된 추적 파일은 암호화하세요. 분석이 완료된 후에는 추적 파일을 삭제하여 노출 위험을 최소화하세요.
9.3 프로덕션 환경 고려 사항
9.3.1 프로덕션에서 프로파일러를 사용해야 하는 경우
위험 평가는 언제 결정됩니까? SQL Server 프로파일러는 프로덕션 환경에 적합합니다. 프로파일러는 추적 범위에 따라 증가하는 측정 가능한 오버헤드를 발생시킵니다. 진단이ostic 값은 프로덕션 추적을 실행하기 전에 성능에 미치는 영향을 정당화합니다.
최소 영향 구성을 통해 더욱 안전한 운영 추적이 가능합니다. 매우 선별적인 필터를 사용하여 중요한 이벤트만 캡처합니다. 빠르게 실행되는 쿼리를 무시하도록 기간 임계값을 설정합니다. 문제 해결 세션 중에는 추적 기간을 짧은 시간으로 제한합니다. 클라이언트 오버헤드를 줄이기 위해 서버 측 추적을 구성합니다.
9.3.2 생산 모니터링을 위한 대안
확장 이벤트는 프로덕션 모니터링에 대한 오버헤드를 줄여줍니다. 이 최신 기술은 이전보다 더 나은 성능과 유연성을 제공합니다. SQL Server 프로파일러. 장기적인 프로덕션 사용을 위해 모니터링 솔루션을 확장 이벤트로 마이그레이션합니다.
쿼리 저장소는 수동 추적 구성 없이 쿼리 성능 데이터를 자동으로 캡처합니다. 운영 데이터베이스에서 쿼리 저장소를 활성화하여 시간 경과에 따른 쿼리 실행 통계를 추적할 수 있습니다. 쿼리 저장소는 m을 제공합니다.ost 추적 오버헤드 없이 성능 모니터링 기능을 제공합니다.
동적 관리 뷰(DMV)는 특정 시나리오에 대한 간단한 모니터링을 제공합니다. DMV는 과거 이벤트를 캡처하지 않고도 현재 상태 정보를 제공합니다. 지속적인 추적에 따른 오버헤드 없이 서버 상태를 모니터링하려면 DMV를 주기적으로 쿼리하세요.
9.4 추적 관리 모범 사례
명명 규칙을 통해 추적 파일을 식별하고 정리할 수 있습니다. 추적 파일 이름에는 날짜, 시간, 서버 이름, 용도를 포함하세요. 모든 추적 파일에 일관된 명명 패턴을 사용하면 관리 및 분석이 용이해집니다.
문서 기록은 추적 구성 및 목적을 기록합니다. 캡처한 이벤트, 추적을 생성한 이유, 그리고 분석을 통해 얻은 정보를 문서화합니다. 규정 준수 및 문제 해결을 위해 운영 시스템에서 실행된 추적 로그를 유지 관리합니다.
보존 정책은 과도한 추적 파일 누적을 방지합니다. 비즈니스 요구 사항 및 저장 용량에 따라 추적 파일의 보존 기간을 정의합니다. 오래된 추적 파일을 자동으로 삭제하여 디스크 공간을 확보합니다. 중요한 추적 파일은 삭제 전에 장기 저장소에 보관합니다.
9.5 피해야 할 일반적인 실수
과도한 추적은 과도한 성능 오버헤드를 유발하고 관리할 수 없는 수준의 데이터 양을 생성합니다. 필터 없이 모든 이벤트를 캡처하지 마십시오.tar좁고 집중적인 추적을 사용하고 필요한 경우에만 범위를 확장합니다. 효과적인 문제 해결을 위해 더 많은 데이터가 항상 더 나은 것은 아닙니다.
추적을 중지하지 않으면 리소스가 낭비되고 디스크 공간이 부족해집니다. 모니터링이 완료되면 항상 추적을 중지하세요. 추적 지속 시간 제한이나 최대 파일 크기를 설정하여 추적이 폭주하는 것을 방지하세요. 실행 중인 추적을 정기적으로 모니터링하고 비활성 또는 불필요한 추적을 중지하세요.
필터 최적화를 무시하면 성능이 저하되고 분석이 어려워집니다. 효과적인 필터를 구성하는 데 시간을 투자하세요.tar추적합니다. 개발 환경에서 필터를 테스트하여 예상 데이터를 캡처하는지 확인합니다. 캡처된 결과를 기반으로 필터를 검토하고 개선합니다.
10. 대안 SQL Server 2025년의 프로파일러
10.1 확장 이벤트: 현대적 대체
10.1.1 확장 이벤트란 무엇입니까?
확장 이벤트는 다음을 나타냅니다. SQL ServerMicrosoft는 이 시스템을 특별히 다음과 같은 문제를 해결하기 위해 설계했습니다. SQL Server 프로파일러는 성능 오버헤드와 구성 유연성을 포함한 한계를 가지고 있습니다. 확장 이벤트는 리소스 소비를 크게 줄이면서 포괄적인 모니터링 기능을 제공합니다.
확장 이벤트는 아키텍처와 이점 면에서 기존 추적 기술과 차별화됩니다. 이벤트 엔진은 다음과 긴밀하게 통합됩니다. SQL Server핵심 아키텍처를 통해 최소한의 오버헤드로 이벤트를 캡처합니다. 비동기 이벤트 버퍼링은 모니터링으로 인해 데이터베이스 작업이 차단되는 것을 방지합니다. 유연함 targeting 옵션을 사용하면 다양한 출력 구성이 가능합니다.
Extended Events는 성능상의 이점 덕분에 프로덕션 모니터링에 이상적입니다. 벤치마크 결과, Extended Events는 동급 제품 대비 오버헤드를 50~90% 줄이는 것으로 나타났습니다. SQL Server 프로파일러 추적. 이 아키텍처는 이벤트 볼륨이 클수록 확장성이 뛰어나고 더 많은 동시 모니터링 세션을 지원합니다.
10.1.2 Profiler에서 확장 이벤트로 마이그레이션
이벤트 매핑은 다음을 번역합니다. SQL Server 프로파일러 이벤트와 확장 이벤트의 동등 항목. Most 프로파일러 이벤트에는 해당 확장 이벤트가 있습니다. Microsoft는 두 시스템 간의 공통 이벤트를 매핑하는 설명서를 제공합니다.
확장 이벤트에서 세션을 생성하려면 새로운 구문과 개념을 익혀야 합니다. T-SQL CREATE EVENT SESSION 문이나 Management Studio의 확장 이벤트 그래픽 인터페이스를 사용하여 이벤트 세션을 정의하세요. 세션은 캡처할 이벤트, 수집할 데이터, 그리고 결과를 저장할 위치를 지정합니다.
10.1.3 확장 이벤트 도구 및 인터페이스
SSMS 확장 이벤트 UI는 그래픽 세션 관리 기능을 제공합니다. 개체 탐색기의 관리 폴더를 통해 확장 이벤트에 액세스할 수 있습니다. 인터페이스를 통해 이벤트 세션을 생성, 수정 및 모니터링할 수 있습니다. 캡처된 데이터를 그리드 및 차트를 포함한 그래픽 형식으로 볼 수 있습니다.
T-SQL 세션 관리를 통해 프로그래밍 방식의 확장 이벤트 제어가 가능합니다. CREATE EVENT SESSION 문을 작성하여 코드에서 세션을 정의합니다. ALTER EVENT SESSION을 사용하여 실행 중인 세션을 수정합니다. DROP EVENT SESSION을 사용하여 세션을 삭제합니다. 이러한 접근 방식은 자동화된 모니터링 솔루션을 용이하게 합니다.
10.2 SQL Server 쿼리 저장소
쿼리 스토어는 활성화된 데이터베이스의 쿼리 성능 데이터를 자동으로 캡처합니다. 이 기능은 수동 추적 구성 없이도 시간 경과에 따른 쿼리 계획, 실행 통계 및 성능 지표를 추적합니다. 쿼리 스토어는 과거 데이터를 유지 관리하여 추세 분석 및 회귀 탐지를 지원합니다.
쿼리 저장소를 통한 실시간 쿼리 성능 모니터링을 통해 현재 시스템 동작을 파악할 수 있습니다. 최근 실행된 쿼리, 실행 계획 및 리소스 사용량을 확인하세요. 문제가 있을 수 있는 실행 기간이 증가하거나 실행 계획이 변경되는 쿼리를 파악하세요.
과거 쿼리 분석을 통해 기간별 비교가 가능합니다. 쿼리 저장소는 설정 가능한 보존 기간 동안 성능 데이터를 보관합니다. 현재 성능을 과거 기준과 비교하여 회귀 분석을 수행합니다. 성능 추세를 분석하여 향후 용량 요구량을 예측합니다.
자동적이고 상시적인 성능 모니터링이 필요할 때 쿼리 저장소를 사용하세요. 운영 데이터베이스에서 쿼리 저장소를 활성화하여 쿼리 동작을 지속적으로 추적하세요. 쿼리 저장소는 성능 문제에 대한 과거 컨텍스트를 제공하여 추적 기반 문제 해결을 보완합니다.
10.3 동적 관리 뷰(DMV)
DMV를 통한 경량 모니터링은 과거 이벤트를 포착하지 않고도 현재 상태 정보를 제공합니다. DMV는 내부 SQL Server 쿼리 가능한 뷰를 통해 통계 및 메타데이터를 제공합니다. 표준 T-SQL SELECT 문을 사용하여 DMV를 쿼리합니다.
성능 모니터링을 위한 일반적인 DMV 쿼리는 쿼리 성능 통계를 위한 sys.dm_exec_query_stats, 현재 실행 중인 요청을 위한 sys.dm_exec_requests, 그리고 대기 통계를 위한 sys.dm_os_wait_stats입니다. 이러한 뷰는 서버 상태 및 활동에 대한 특정 시점의 정보를 제공합니다.
DMV는 실시간 지표를 제공하여 추적 기반 모니터링을 보완합니다. DMV를 사용하여 신속한 상태 점검 및 현재 상태 분석을 수행할 수 있습니다. DMV 쿼리와 추적 데이터를 결합하여 포괄적인 문제 해결 방법을 모색할 수 있습니다.
10.4 타사 모니터링 도구
상업적 대안은 향상된 모니터링 기능을 제공합니다. SQL Server의 내장 도구입니다. SolarWinds, Redgate, Quest와 같은 공급업체의 제품은 포괄적인 모니터링, 알림 및 분석 기능을 제공합니다. 이러한 도구는 추적, DMV, 성능 카운터를 포함한 여러 데이터 소스를 결합하는 경우가 많습니다.
기능 비교를 통해 다양한 모니터링 방식의 강점을 확인할 수 있습니다. 타사 도구는 뛰어난 사용자 인터페이스, 자동 알림, 그리고 과거 추세 분석 기능을 제공합니다. SQL Server내장 도구는 추가 c를 전혀 제공하지 않습니다.ost 더욱 심층적인 통합을 제공합니다. 구체적인 요구 사항과 예산에 따라 도구를 평가해 보세요.
10.5 귀하의 요구 사항에 맞는 올바른 도구 선택
의사 결정 매트릭스는 적절한 모니터링 도구를 선택하는 데 도움이 됩니다. 임시 문제 해결의 경우, SQL Server 프로파일러는 접근성과 효율성을 유지합니다. 프로덕션 모니터링의 경우, 확장 이벤트 또는 쿼리 저장소가 더 나은 성능을 제공합니다. 포괄적인 엔터프라이즈 모니터링의 경우, 타사 솔루션이 m을 제공합니다.ost 기능을 제공합니다.
도구 선택 기준에는 성능 오버헤드, 사용 편의성, 데이터 보존 요건, 예산 제약 등이 있습니다. 도구를 선택할 때 팀의 전문성을 고려하세요. 새로운 도구가 더 나은 기능을 제공하더라도 익숙한 도구를 사용하면 문제 해결 속도를 높일 수 있습니다.
여러 도구를 결합하여 포괄적인 모니터링 전략을 수립하세요. 지속적인 성능 추적에는 쿼리 저장소를, 특정 문제 조사에는 확장 이벤트를, 실시간 상태 점검에는 DMV를 사용하세요. 이러한 계층적 접근 방식은 과도한 오버헤드 없이 강력한 모니터링을 제공합니다.
11. 문제 해결 SQL Server 프로파일러 문제
11.1 일반적인 연결 문제
인증 실패로 인해 SQL Server 프로파일러 연결 tar서버를 가져오세요. 선택한 인증 방법에 대해 올바른 자격 증명을 사용하고 있는지 확인하세요. Windows 인증을 사용하려면 Windows 계정에 적절한 SQL Server 권한. SQL Server 인증에는 유효한 SQL 로그인 자격 증명이 필요합니다.
네트워크 연결 문제는 시간 초과 오류나 연결 실패로 나타납니다. 확인하세요. SQL Server 구성에서 원격 연결을 허용합니다. 방화벽 설정을 확인하여 트래픽을 허용하세요. SQL Server's 포트. Profiler 관련 문제를 해결하기 전에 ping과 telnet을 사용하여 기본 연결을 테스트하세요.
11.2 프로파일러의 성능 문제
추적 실행 속도가 느리다는 것은 추적 구성으로 인한 과도한 오버헤드를 나타냅니다. 선택한 이벤트를 검토하고 불필요한 이벤트를 제거하세요. 캡처된 이벤트 볼륨을 줄이려면 필터를 추가하세요. 클라이언트 측 처리 부하를 줄이려면 서버 측 추적을 사용하는 것이 좋습니다.
높은 자원 소모는 두 가지 모두에 영향을 미칩니다. SQL Server 프로파일러 클라이언트. 추적 실행 중 서버 CPU 및 메모리를 모니터링합니다. 서버 리소스가 제한적인 경우 필터 선택도를 높이거나 캡처 시간을 줄입니다. 클라이언트 리소스 문제로 인해 다른 애플리케이션을 종료하거나 클라이언트 하드웨어를 업그레이드해야 합니다.
11.3 추적 파일 및 테이블 문제
손상된 추적 파일로 인해 열 수 없습니다. SQL Server 프로파일러. 손상은 일반적으로 추적 종료가 제대로 이루어지지 않거나 디스크 오류가 발생하여 발생합니다. 텍스트 편집기에서 파일을 열어 완전히 손상되지 않았는지 확인해 보세요. 경우에 따라 fn_trace_gettable을 사용하여 테이블로 가져오면 일부 데이터를 복구할 수 있습니다.
추적을 로드하려고 할 때 테이블 액세스 문제가 발생합니다. SQL Server 테이블. 추적 테이블에 대한 SELECT 권한이 있는지 확인하세요. 테이블이 삭제되거나 이름이 변경되지 않았는지 확인하세요. 추적 테이블이 있는 올바른 서버와 데이터베이스에 연결했는지 확인하세요.
11.4 누락된 이벤트 또는 불완전한 데이터
필터 구성 오류로 인해 추적에서 예상 이벤트가 누락될 수 있습니다. 필터 기준을 신중하게 검토하여 원하는 이벤트가 제외되지 않도록 하세요. 짧은 추적을 실행하고 캡처된 데이터가 예상과 일치하는지 확인하여 필터를 테스트하세요. 필터 템포를 제거하세요.rar그들이 문제를 일으키고 있는지 확인하기 위해서입니다.
버퍼 오버플로는 다음과 같은 경우 발생합니다. SQL Server 이벤트 생성 속도를 따라잡을 만큼 빠르게 추적 데이터를 작성할 수 없습니다. 이는 일반적으로 활동이 많은 동안 필터링되지 않은 추적에서 발생합니다. 이벤트 누락 또는 "이벤트가 캡처되지 않았습니다" 경고와 같은 증상이 나타납니다. 필터를 추가하여 이벤트 볼륨을 줄이거나 추적 파일 위치의 디스크 I/O 성능을 향상시켜 문제를 해결하세요.
11.5 프로파일러 충돌 및 오류
일반적인 오류 메시지로는 "추적을 생성할 수 없습니다"가 있는데, 이는 권한 문제나 리소스 제약을 나타냅니다. "추적이 중지되었습니다"라는 메시지는 디스크 용량 부족으로 인해 서버 측 추적 실패를 나타냅니다. "잘못된 추적 정의"라는 오류는 구성 문제를 나타냅니다.
해결 전략은 특정 오류에 따라 달라집니다. 권한 오류는 사용자에게 ALTER TRACE 권한을 부여해야 합니다. 리소스 오류는 디스크 공간이나 메모리를 비워야 합니다. 구성 오류는 추적 설정을 검토하고 수정해야 합니다.tart SQL Server 응답하지 않을 경우 프로파일러를 실행하세요.
12. 실용 SQL Server 프로파일러 시나리오 및 예제
12.1 시나리오 1: 데이터베이스에서 가장 느린 쿼리 식별
이 연습에서는 느린 쿼리를 캡처하고 분석하는 방법을 보여줍니다.
다음 단계에 따라 추적을 구성하세요.
- 실행 SQL Server 프로파일러와 연결 tar서버를 받으세요.
- 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에 -> 새로운 추적.
- "Slow Query Analysis"를 입력하세요. 추적 이름 입력란입니다.
- 클라임웍스와 함께 하늘과 닿는 여정을 시작하세요 티SQL 인사말 템플릿을 사용하세요 쓰러지 다.
- 이벤트 선택 탭.
- 열 필터.
- 클라임웍스와 함께 하늘과 닿는 여정을 시작하세요 런닝타임 그리고 1000000을 입력하세요 크거나 같음.
- 클라임웍스와 함께 하늘과 닿는 여정을 시작하세요 데이터베이스 이름 그리고 데이터베이스 이름을 입력하세요 처럼.
- OK 필터를 닫으려면.
- 사용 파일에 저장 파일 경로를 지정합니다.
- 달리기 그것은tar캡처하지 않음.
대표적인 작업 부하를 파악하기 위해 최대 업무 시간 동안 최소 30분 동안 추적을 실행하세요. 충분한 데이터 수집 후 추적을 중지하세요.
다음 프로세스에 따라 결과를 분석합니다.
- 클릭 런닝타임 실행 시간별로 정렬할 열 머리글.
- 가장 오랫동안 실행된 상위 10개 쿼리를 확인하세요.
- 각 쿼리에 대해 다음을 검사하세요. 텍스트데이터 열입니다.
- 쿼리 텍스트를 복사하여 Management Studio에 붙여넣습니다.
- 예상 실행 계획 표시 쿼리를 분석합니다.
- 테이블 스캔, 누락된 인덱스 또는 비효율적인 조인을 찾아보세요.
- 검토 CPU, 읽기예산 및 글쓰기 자원 소비 패턴에 대한 열입니다.
12.2 시나리오 2: 교착 상태 문제 디버깅
이 예제에서는 교착 상태를 포착하고 분석하는 방법을 보여줍니다.
다음 단계에 따라 교착 상태 모니터링을 구성하세요.
- "Deadlock Investigation"이라는 이름의 새로운 추적을 만듭니다.
- 이벤트 선택 탭.
- 모든 이벤트 표시.
- AI Physics로 발견의 범위 확장 잠금 카테고리.
- 클라임웍스와 함께 하늘과 닿는 여정을 시작하세요 잠금:교착 상태.
- 클라임웍스와 함께 하늘과 닿는 여정을 시작하세요 잠금:교착 상태 체인.
- AI Physics로 발견의 범위 확장 오류 및 경고 카테고리.
- 클라임웍스와 함께 하늘과 닿는 여정을 시작하세요 차단된 프로세스 보고서.
- 확인 텍스트데이터 열이 선택되었습니다.
- 달리기 그것은tart 모니터링.
추적 실행 중에 교착 상태가 발생하면 추적 그리드에 Lock:Deadlock 이벤트가 나타납니다.
다음 단계에 따라 교착 상태 정보를 해석하세요.
- 클릭 잠금:교착 상태 이벤트 행.
- 보기 텍스트데이터 하단 패널의 열.
- TextData에서 XML 콘텐츠를 복사합니다.
- Management Studio를 열고 새로운 쿼리 창을 만듭니다.
- XML을 쿼리 창에 붙여넣습니다.
- 파일을 .xdl 확장자로 저장합니다.
- Management Studio에서 .xdl 파일을 열어 교착 상태 그래프를 확인합니다.
- 그래프는 관련 프로세스, 잠긴 리소스, 선택된 피해자를 보여줍니다.
- 두 프로세스의 쿼리를 검토하여 갈등을 파악합니다.
해결 단계에는 일반적으로 일관된 순서로 리소스에 액세스하기 위해 애플리케이션 코드에서 작업을 재정렬하고, 트랜잭션 범위를 줄이거나, 적절한 잠금 힌트를 구현하는 작업이 포함됩니다.
12.3 시나리오 3: 특정 애플리케이션의 모든 쿼리 추적
이 시나리오는 애플리케이션별 쿼리 모니터링을 보여줍니다.
다음 단계에 따라 애플리케이션별 추적을 구성하세요.
- "애플리케이션 쿼리 추적"이라는 이름의 새로운 추적을 만듭니다.
- 선택 Standard 주형.
- 이벤트 선택 탭.
- 열 필터.
- 클라임웍스와 함께 하늘과 닿는 여정을 시작하세요 애플리케이션 이름.
- 응용 프로그램 이름을 입력하세요 처럼 입력란입니다.
- 애플리케이션에서 연결 풀링을 사용하는 경우 와일드카드 일치가 필요할 수 있습니다.
- OK 필터를 적용합니다.
- 사용 테이블에 저장 더 쉽게 쿼리할 수 있도록.
- 달리기 그것은tar캡처하지 않음.
쿼리 패턴 분석은 애플리케이션이 어떻게 상호 작용하는지 보여줍니다. SQL Server:
- 데이터를 수집한 후 추적을 중지합니다.
- Management Studio를 열고 추적 테이블이 있는 서버에 연결합니다.
- 패턴을 분석하려면 추적 테이블을 쿼리하세요.
- 쿼리를 유형별로 계산하여 운영 구성을 확인하세요.
- m을 식별하다ost 자주 실행되는 쿼리.
- 캐시되거나 최적화될 수 있는 쿼리를 찾아보세요.
- 연결 풀링이 누락되었음을 나타내는 동일한 쿼리가 반복되는지 확인합니다.
12.4 시나리오 4: 규정 준수를 위한 데이터 액세스 감사
이 예에서는 보안 감사 추적을 생성하는 방법을 보여줍니다.
다음 단계에 따라 보안 감사를 구성하세요.
- "보안 감사 추적"이라는 이름의 새로운 추적을 만듭니다.
- 이벤트 선택 탭.
- 모든 이벤트 표시.
- AI Physics로 발견의 범위 확장 보안 감사 카테고리.
- 클라임웍스와 함께 하늘과 닿는 여정을 시작하세요 감사 로그인, 감사 로그아웃, 감사 로그인 실패.
- 클라임웍스와 함께 하늘과 닿는 여정을 시작하세요 데이터베이스 개체 액세스 감사.
- AI Physics로 발견의 범위 확장 티SQL 카테고리.
- 클라임웍스와 함께 하늘과 닿는 여정을 시작하세요 SQL:배치 완료.
- 열 필터.
- 태그 객체 이름 특정 민감한 테이블을 모니터링합니다.
- 사용 테이블에 저장 장기 보존을 위해.
- 무인 작업을 위해 서버 측 추적을 활성화합니다.
- 달리기 그것은tart 감사.
추적 테이블을 쿼리하여 감사 보고서를 생성합니다.
- 사용자 및 기간별 액세스를 요약하는 쿼리를 만듭니다.
- 특이한 접근 패턴이나 근무 시간 이후 활동을 파악합니다.
- 보안 검토를 위해 로그인 시도에 실패했습니다.
- 규정 준수 문서화를 위해 감사 데이터를 보고 시스템으로 내보냅니다.
- 보존 정책에 따라 완료된 감사 추적을 보관합니다.
12.5 시나리오 5: 성능 테스트를 위한 워크로드 캡처
이 시나리오는 테스트 목적으로 워크로드 캡처를 보여줍니다.
다음 단계에 따라 재생 준비 추적을 만듭니다.
- "워크로드 캡처"라는 이름의 새로운 추적을 만듭니다.
- 클라임웍스와 함께 하늘과 닿는 여정을 시작하세요 TSQL_재생 템플릿 드롭다운에서.
- 이 템플릿에는 재생에 필요한 모든 이벤트와 열이 포함되어 있습니다.
- 이벤트 선택 탭.
- 특정 작업 부하 세그먼트를 캡처하려면 필터를 적용하세요.
- 사용 파일에 저장.
- 충분한 디스크 공간이 있는 파일 경로를 지정하세요.
- 적절한 파일 크기 제한을 설정하고 롤오버를 활성화합니다.
- 달리기 그것은tar캡처하지 않음.
대표적인 비즈니스 운영 중에 캡처합니다. 포괄적인 워크로드 캡처를 위해 다양한 활동 패턴을 포괄하는 추적을 몇 시간 동안 실행합니다. 충분한 데이터를 수집한 후 추적을 중지합니다.
작업 부하 분석은 시스템 동작 패턴을 보여줍니다.
- 캡처된 추적 파일을 엽니다. SQL Server 프로파일 러.
- 이벤트 분포를 유형 및 시간별로 검토합니다.
- 집계된 리소스 소비 지표를 계산합니다.
- 최대 활동 기간과 리소스 병목 현상을 파악합니다.
- 데이터베이스 엔진 튜닝 어드바이저 분석을 위해 추적을 사용합니다.
- 변경 사항을 검증하기 위해 테스트 시스템에 대해 추적을 다시 실행합니다.
13. 데이터베이스 손상 감지 SQL Server 프로파일
13.1 사용 SQL Server 조기 부패 경고 신호를 위한 프로파일러
데이터베이스 손상은 다음 중 하나를 나타냅니다.ost 데이터 무결성 및 시스템 안정성에 대한 심각한 위협입니다. SQL Server Profiler는 전문적인 부패 탐지 도구는 아니지만 즉각적인 조사가 필요한 잠재적 부패 문제를 나타내는 중요한 경고 신호를 포착할 수 있습니다.
13.2 잠재적 손상을 나타내는 중요 오류 이벤트
- 심각도 24 오류(823, 824, 825): 하드웨어 및 미디어 오류.
- 오류 605: 페이지 검색 시도 실패
- 오류 8928 및 8929: 개체 손상
13.3 의심스러운 데이터베이스 동작 및 경고 패턴
- 특정 개체에 대한 반복 쿼리 시간 초과
- 액세스 위반 및 애플리케이션 충돌
- 비정상적인 오류 클러스터링
13.4 프로파일러 결과에 따라 DBCC CHECKDB 실행
If SQL Server 프로파일러가 의심스러운 손상을 발견하면 DBCC CHECKDB를 사용하여 데이터베이스를 완전히 검사할 수 있습니다. 손상이 확인되면 복구를 수행합니다. 이러한 작업을 수행하는 방법에 대한 포괄적인 가이드.
DBCC CHECKDB가 데이터베이스를 복구하지 못하면 손상이 심각합니다. 이 경우 다음을 수행할 수 있습니다. 타사 SQL 복구 도구.
14. FAQ
질문 : SQL Server Profiler는 여전히 지원됩니다. SQL Server 2022?
A : 그렇습니다. SQL Server Profiler는 여전히 포함되어 있습니다 SQL Server 2022 및 SQL Server Management Studio는 더 이상 사용되지 않음에도 불구하고 SQL Server 2016. Microsoft는 현재 버전에 이 도구를 계속 제공하고 있지만, 새로운 모니터링 구현의 경우 확장 이벤트로 마이그레이션할 것을 권장합니다. 이 도구는 여전히 작동하며 문제 해결 및 임시 분석에 널리 사용됩니다.
Q: 차이점은 무엇입니까? SQL Server 프로파일러와 SQL 추적?
A: SQL Server Profiler는 SQL Trace 엔진에 연결되는 그래픽 사용자 인터페이스 도구입니다. SQL ServerSQL 추적은 실제로 이벤트를 캡처하는 기반 기술입니다. Profiler 인터페이스를 사용하거나 sp_trace_create와 같은 T-SQL 저장 프로시저를 통해 직접 추적을 생성할 수 있습니다. Profiler는 구성이 더 쉽고, T-SQL 추적은 더 많은 자동화 기능을 제공합니다.
질문: 성능 오버헤드는 얼마나 되나요? SQL Server 프로파일러 추가?
A: 성능에 미치는 영향은 추적 구성에 따라 다릅니다. 특정 이벤트만 캡처하는 필터링이 잘 된 추적은 1~5%의 오버헤드를 추가할 수 있습니다. 필터 없이 제대로 구성되지 않은 추적은 특히 사용량이 많은 시스템에서 20~50% 이상의 오버헤드를 추가할 수 있습니다. 서버 측 추적은 클라이언트 측 추적보다 성능에 미치는 영향이 적습니다. 항상 필터를 사용하여 이벤트 볼륨을 최소화하고, 운영 환경이 아닌 곳에서 먼저 추적을 테스트하십시오.
Q: 달릴 수 있나요? SQL Server 프로덕션 서버에 프로파일러가 있나요?
A: 달릴 수 있어요 SQL Server 프로덕션 서버에서 프로파일러를 사용하지만, 주의가 필요합니다. 매우 선별적인 필터를 사용하고, 추적 기간을 제한하며, 영향을 최소화하기 위해 서버 측 추적을 우선적으로 실행하십시오. 가능하면 활동이 적은 기간에 프로덕션 추적을 실행하십시오. 지속적인 프로덕션 모니터링을 위해서는 오버헤드가 낮은 확장 이벤트 또는 쿼리 저장소를 사용하는 것이 좋습니다.
질문: 사용하려면 어떤 권한이 필요합니까? SQL Server 프로파일러?
A: 추적을 생성하고 실행하려면 ALTER TRACE 권한이 필요합니다. sysadmin 고정 서버 역할의 구성원은 자동으로 이 권한을 갖습니다. sysadmin이 아닌 사용자에게는 ALTER TRACE 권한을 명시적으로 부여해야 합니다. 또한, 구성에 따라 추적 데이터를 파일이나 테이블에 저장하려면 적절한 권한이 필요합니다.
질문: 추적에서 모든 이벤트를 볼 수 없는 이유는 무엇인가요?
답변: 누락된 이벤트는 일반적으로 지나치게 제한적인 필터나 버퍼 오버플로우로 인해 발생합니다. 필터 구성을 검토하여 원하는 이벤트가 제외되지 않는지 확인하세요. 버퍼 오버플로우는 다음과 같은 경우에 발생합니다. SQL Server 일반적으로 사용량이 많은 시스템에서는 필터링되지 않은 추적으로 인해 이벤트를 충분히 빠르게 작성할 수 없습니다. 필터를 추가하여 이벤트 볼륨을 줄이거나 디스크 I/O 성능을 향상시키세요. 이벤트가 캡처되지 않았음을 나타내는 오류 메시지가 있는지 확인하세요.
질문: 교착 상태 정보를 어떻게 캡처합니까? SQL Server 프로파일러?
A: 잠금(Lock) 범주에서 Lock:Deadlock 및 Lock:Deadlock Chain 이벤트를 포함하는 추적을 생성합니다. TextData 열에 교착 상태 그래프 XML이 포함되어 있으므로 해당 열이 선택되어 있는지 확인합니다. 교착 상태가 발생하면 TextData 열에서 XML을 복사하여 .xdl 확장자로 저장한 후 다음에서 엽니다. SQL Server Management Studio에서 그래픽 교착 상태 다이어그램을 확인하세요.
질문: 추적을 파일에 저장하는 것과 테이블에 저장하는 것의 차이점은 무엇입니까?
A: 파일은 추적 실행 중에 다음을 우회하기 때문에 더 나은 성능을 제공합니다. SQL Server 저장 엔진. 파일 추적은 최소한의 오버헤드로 디스크에 직접 데이터를 기록합니다. 테이블 추적은 저장 엔진을 통해 기록하므로 오버헤드가 발생하지만 추적 데이터에 대한 즉각적인 T-SQL 쿼리가 가능합니다. 성능에 민감한 시나리오에서는 파일을 사용하고, 캡처 중이나 캡처 직후에 데이터를 즉시 쿼리해야 하는 경우에는 테이블을 사용하십시오.
질문: 자동화할 수 있나요? SQL Server 프로파일러 추적 수집?
A: 네, T-SQL 저장 프로시저로 생성된 서버 측 추적을 사용하여 추적 수집을 자동화합니다. sp_trace_create 및 관련 프로시저를 사용하여 스크립트를 작성한 다음, SQL Server 에이전트 작업. 이 접근 방식을 사용하면 지정된 일정에 따라 무인 추적 수집이 가능합니다. PowerShell 스크립트는 더 복잡한 시나리오에 대한 또 다른 자동화 옵션을 제공합니다.
질문: 추적을 얼마나 오랫동안 실행해야 합니까?
A: 추적 기간은 목표에 따라 달라집니다. 특정 문제를 해결하려면 문제를 재현하는 동안 추적을 실행하세요(일반적으로 5~30분). 성능 분석을 위해서는 사용량이 가장 많은 시간대에 최소 1시간 동안 추적을 실행하세요. 워크로드 분석이나 용량 계획을 위해서는 다양한 시간대에 걸쳐 여러 시간을 수집하세요. 모니터링이 완료되면 항상 추적을 중지하여 리소스를 확보하세요.
질문: 추적 파일이 너무 커지면 어떻게 해야 하나요?
A: 추적 속성에서 파일 롤오버를 활성화하여 큰 파일 하나 대신 여러 개의 작은 파일을 생성하세요. 디스크 공간 및 분석 요구 사항에 맞게 최대 파일 크기를 설정하세요. 필터를 사용하여 캡처된 이벤트 볼륨을 줄이세요. 대용량 추적의 경우 전체 추적을 한 번에 로드하는 대신 데이터를 세그먼트별로 분석하는 것이 좋습니다. 디스크 공간을 관리하기 위해 오래된 추적 파일을 정기적으로 보관하거나 삭제하세요.
질문: CPU 사용량이 높은 쿼리를 어떻게 찾을 수 있나요?
A: SQL:BatchCompleted 및 RPC:Completed 이벤트로 추적을 생성합니다. CPU, Duration 및 TextData 열을 포함합니다. Duration으로 필터링하여 1000밀리초와 같은 임계값을 초과하는 쿼리만 캡처합니다. 데이터 수집 후 CPU 열을 기준으로 내림차순으로 정렬합니다. 맨 위에 있는 쿼리는 m을 소비합니다.ost 프로세서 시간. 누락된 인덱스나 비효율적인 로직과 같은 최적화 기회를 찾기 위해 이러한 쿼리를 검토하세요.
Q : 할 수 있습니다 SQL Server 프로파일러가 쿼리 실행 계획을 캡처합니까?
A: SQL Server 프로파일러는 성능 범주의 Showplan XML 이벤트를 통해 실행 계획 정보를 캡처할 수 있습니다. 전체 실행 계획을 캡처하려면 Showplan XML 또는 Showplan XML 통계 프로필 이벤트를 선택하세요. TextData 열에는 XML 계획 데이터가 포함됩니다. 하지만 일상적인 실행 계획 분석의 경우, SQL Server Management Studio의 그래픽 실행 계획 기능이나 쿼리 저장소는 더 쉬운 대안을 제공합니다.
질문: 가장 좋은 템플릿은 무엇입니까?tar일반적인 모니터링에는 적합합니까?
A: 표준 템플릿은 좋은 s를 제공합니다.tar일반적인 모니터링을 위한 핵심 요소입니다. 일반적인 쿼리 실행 이벤트, 저장 프로시저 호출, 그리고 균형 잡힌 오버헤드를 통한 오류 추적이 포함됩니다. 쿼리 성능에 중점을 둔 모니터링의 영향이 적은 경우 TSQL 템플릿을 사용하세요. 기본 사항을 이해한 후 필터를 추가하고 이벤트 선택을 조정하여 특정 요구 사항에 맞게 템플릿을 사용자 정의하세요.
질문: 특정 애플리케이션이나 사용자만 추적하려면 어떻게 해야 하나요?
A: 열 필터를 사용하여 특정 애플리케이션이나 사용자를 분리하세요. 애플리케이션의 경우 연결 문자열에 지정된 이름을 사용하여 ApplicationName 열로 필터링하세요. 사용자의 경우 LoginName 열로 필터링하세요. SQL Server 로그인 또는 Windows 계정 이름. 여러 필터를 결합하여 범위를 더욱 좁힐 수 있습니다. 예를 들어, ApplicationName과 DatabaseName을 모두 필터링하여 특정 데이터베이스에서 특정 애플리케이션의 활동을 모니터링할 수 있습니다.
15. 결론 및 다음 단계
15.1 가지 핵심 사항
SQL Server Profiler는 더 이상 사용되지 않음에도 불구하고 임시 데이터베이스 문제 해결에 유용한 도구로 남아 있습니다. 직관적인 인터페이스와 포괄적인 이벤트 캡처 기능을 통해 신속한 진단에 이상적입니다.ost즉각적인 결과가 필요할 때는 ic 세션을 사용하세요. 특정 문제 해결, 애플리케이션 동작 분석, 보안 감사에는 Profiler를 사용하세요.
모범 사례에는 성능 영향을 최소화하기 위해 적극적으로 필터를 사용하고, 프로덕션 환경에서는 서버 측 추적을 우선시하며, 추적 기간을 필요한 기간으로 제한하는 것이 포함됩니다. 오버헤드를 줄이려면 필수적인 이벤트와 열만 선택하세요. 캡처 시 성능 향상을 위해 추적을 테이블이 아닌 파일에 저장하세요.
15.2 앞으로 나아가기: 최신 도구 활용
전환 SQL Server 장기 모니터링 솔루션을 위한 확장 이벤트 프로파일러. 프로파일러는 계속 작동하며, 확장 이벤트 학습에 시간을 투자하면 향후에도 경쟁력을 확보할 수 있습니다. SQL Server 버전. Star일반적인 Profiler 추적을 복제하는 간단한 확장 이벤트 세션을 사용합니다.
프로덕션 데이터베이스에서 쿼리 저장소를 활성화하면 수동 추적 구성 없이도 자동 성능 모니터링을 수행할 수 있습니다. 쿼리 저장소는 쿼리 계획과 실행 통계를 지속적으로 수집하여 성능 분석을 위한 기준 데이터를 제공합니다. 쿼리 저장소를 다음과 결합하세요. tar포괄적인 모니터링을 위해 확장된 이벤트 세션을 받았습니다.
15.3 추가 리소스
다음 리소스는 귀하의 심화에 도움이 될 것입니다. SQL Server 프로파일러에 대한 지식을 습득하고 모니터링 모범 사례를 최신 상태로 유지하세요.
공식 Microsoft 문서
- SQL Server 프로파일러 문서 – 이벤트, 칼럼, 절차에 대한 포괄적인 참조
- SQL 추적 시스템 저장 프로시저 – 서버 측 추적 생성을 위한 T-SQL 참조
- 확장 이벤트 문서 – 마이그레이션 지침 및 현대적 모니터링 접근 방식
- 쿼리 스토어 문서 – 자동 쿼리 성능 추적 참조
- 성능 모니터링 및 튜닝 도구 – 모든 개요 SQL Server 모니터링 옵션
커뮤니티 리소스
- SQL Server Central – 데이터베이스 전문가를 위한 기사, 포럼 및 스크립트
- 스택 오버플로 SQL Server 태그 – 특정 문제 해결 질문에 대한 커뮤니티 Q&A
- Reddit r/SQLServer – 토론 포럼 SQL Server 주제 및 조언
- SQLServerCentral.com 포럼 – 프로파일링 및 성능에 대한 활발한 커뮤니티 토론
- MSDN SQL Server 포럼 – Microsoft-hosted 커뮤니티 지원 포럼
블로그 및 기술 문서
- SQL Server Performance Monitor (성능 모니터) – 전담 성능 모니터링 및 최적화 콘텐츠
- Brent Ozar Unlimited 블로그 – 성능 튜닝 및 모니터링 모범 사례
- SQLSkills.com – 전문가 수준 SQL Server 업계 리더들의 콘텐츠
- Microsoft SQL Server 블로그 – 공식 제품 업데이트 및 기능 발표
- Simple Talk – 실용적 SQL Server 튜토리얼 및 사례 연구
교육 및 인증
- Microsoft 학습 – 무료 온라인 교육 모듈 SQL Server
- Microsoft 인증: Azure 데이터베이스 관리자 준회원 – 공식 인증 경로
- Pluralsight SQL Server 과정 – 프로파일링 및 성능 튜닝에 대한 비디오 교육
- LinkedIn 학습 SQL Server 교육 – 전문가 개발 과정
- Udemy SQL Server 성과 과정 – 실습 중심의 교육 옵션
도서
- SQL Server 쿼리 성능 튜닝 – 포괄적인 성능 최적화 가이드
- 찬성 SQL Server 내부 – 심층 분석 SQL Server 아키텍처
- SQL Server 실행 계획 - 쿼리 최적화 이해
- 전문가 성과 인덱싱 SQL Server – 인덱스 설계 및 최적화
- SQL Server 고급 문제 해결 및 성능 튜닝 – 고급 진단ostIC 기술
도구 및 유틸리티
- SQL Server 관리 스튜디오 – 기본 인터페이스 SQL Server 프로파일
- Azure 데이터 스튜디오 – 최신 크로스 플랫폼 데이터베이스 도구
- sp_WhoIsActive – 인기 있는 커뮤니티에서 만든 모니터링 저장 프로시저
- SQL Sentry Plan Explorer – 무료 실행 계획 분석 도구
- DBForge Studio – 타사 SQL Server 개발 및 관리 도구
저자에 관하여
위안 셩 10년 이상의 경력을 가진 선임 데이터베이스 관리자(DBA)입니다. SQL Server 환경 및 기업 데이터베이스 관리 분야에서 그는 금융 서비스, 의료, 제조 분야에서 수백 건의 데이터베이스 복구 시나리오를 성공적으로 해결했습니다.
원은 다음을 전문으로 합니다. SQL Server 데이터베이스 복구, 고가용성 솔루션그는 성능 최적화 분야에도 정통합니다. 풍부한 실무 경험을 바탕으로 수 테라바이트 규모의 데이터베이스 관리, 구현 등을 수행해 왔습니다. 항상 사용 가능한 가용성 그룹또한 핵심 비즈니스 시스템을 위한 자동화된 백업 및 복구 전략을 개발하고 있습니다.
Yuan은 기술적 전문성과 실용적인 접근 방식을 통해 데이터베이스 관리자와 IT 전문가가 복잡한 문제를 해결하는 데 도움이 되는 포괄적인 가이드를 만드는 데 중점을 둡니다. SQL Server 효율적으로 도전합니다. 그는 최신 정보를 유지합니다. SQL Server Microsoft의 새로운 릴리스와 진화하는 데이터베이스 기술을 활용하고, 정기적으로 복구 시나리오를 테스트하여 권장 사항이 실제 모범 사례를 반영하는지 확인합니다.
에 대한 질문이 SQL Server 복구가 필요하거나 추가적인 데이터베이스 문제 해결 지침이 필요하신가요? Yuan이 환영합니다. 피드백과 제안 이러한 기술적 자원을 개선하기 위해.























