SQL Server 온-프레미스 및 하이브리드 시나리오에 대한 문제 해결 및 진단 도구

적용 대상: SQL Server

소개

SQL Server 하이브리드에 대한 Microsoft 제품 지원은 문제 해결 도구를 사용하여 고객이 로그를 수집하고 기술 문제를 좁힐 수 있도록 지원합니다. 이러한 도구는 공개적으로 사용할 수 있습니다. 이 문서에서는 SQL Server 제품 지원 엔지니어가 사용했던 진단 도구를 요약합니다. 이 문서에서는 다양한 문제 해결 시나리오를 자세히 설명하며 해당 로그 수집 및 로그 분석 도구를 보여 줍니다.

SQL Server 진단 도구

시나리오 수집할 기본 로그 로그를 수집하는 도구 로그를 분석하는 도구
가용성 그룹 - 클러스터 로그
- 이벤트 로그
- 시스템 모니터(성능 모니터 로그)
- 오류 로그 SQL Server
- SQLDIAG XEL 파일
- AlwaysOn Health 세션 XEL 파일
- 시스템 상태 세션 XEL 파일
- AG 데이터 이동을 위한 확장 이벤트
- AG에 대한 DMV 및 카탈로그 뷰 스냅샷
- 기본 설정: SQL LogScout
시나리오 "AlwaysOn"을 사용합니다.

- 대안: TSSv2
시나리오 "SQL Base"를 사용합니다.

- 대안: PSSDIAG
사용자 지정 진단 "Always On 기본 정보"를 사용합니다.
- 기본 설정: AGDiag
사용할 시나리오: 장애 조치(failover) 및 실패 분석.

- 대안: SQL 넥서스
사용할 시나리오: 성능, 대기 시간, 상태 및 모범 사례.
성능 저하
- 확장 이벤트(XEvent) 추적은 일괄 처리 수준 시작/완료된 이벤트, 오류 및 경고, 로그 증가/축소, 잠금 에스컬레이션 및 시간 제한, 교착 상태, 로그인/로그아웃을 캡처합니다.
- 능동적으로 실행되는 SQL 추적 및 Xevents 목록
- 대기/차단 및 높은 CPU 쿼리를 추적하는 SQL DMV의 스냅샷
- 데이터 저장소 정보 쿼리(활성 상태인 경우)
- tempdb SQL DMV/시스템 뷰의 경합 정보
- 연결된 서버 메타데이터(SQL DMV/시스템 뷰)
- Service Broker 구성 정보(SQL DMV/시스템 뷰)
- 기본 설정: SQL LogScout
"GeneralPerf", "DetailedPerf" 또는 "LightPerf" 시나리오 를 사용합니다.


- 대안: PSSDIAG
시나리오 "일반 성능", "자세한 성능" 또는 "가벼운 성능"을 사용합니다.
- 기본 설정: SQL 넥서스
사용할 시나리오: 성능 분석, 모범 사례 권장 사항, 병목 상태 분석, 차단 및 상위 쿼리.

- 대안: RML 유틸리티
사용할 시나리오: 쿼리 분석을 통해 상위 리소스 사용 쿼리를 이해합니다.
연결 - BID 추적/드라이버 추적
- 네트워크 추적
- 인증 추적
- 오류 로그 SQL Server
- Windows 이벤트 로그
NETSTAT 및 TASKLIST의 스냅샷
- 기본 설정: SQL 추적
INI 파일에서 컬렉션 설정을 구성합니다.

- 대안: SQL LogScout
시나리오 "NetworkTrace"를 사용합니다.

- 대안: SSPICLIENT
SSPI 또는 Kerberos 오류가 발생할 때 이 도구를 사용하고 분석을 위해 자세한 추적을 기록합니다.
- 기본 설정: SQL Network Analyzer UI
SQL Network Analyzer
사용할 시나리오: 네트워크 패킷 캡처 파일을 읽고 잠재적 관심 영역을 강조하는 보고서를 생성합니다.

- 대안: SQLCHECK
연결에 영향을 줄 수 있는 모든 설정에 대해 보고합니다.

- 대안: SQLBENCH
비교 분석에 대한 타이밍을 표시합니다.

- 대안: DBTEST
연결하는 데 걸리는 시간과 명령을 실행하는 데 걸리는 시간을 기록합니다.
복제 - 오류 로그 SQL Server
- 복제, CDC, CT 진단 정보(SQL DMV/시스템 뷰)
- 기본 설정: SQL LogScout
데이터 수집 시나리오 사용
"복제"


- 대안: PSSDIAG
사용자 지정 진단 "복제"를 사용합니다.
- 기본 설정: SQL 넥서스
사용할 시나리오: 복제 보고서, 성능 분석, 모범 사례 권장 사항, 병목 상태 분석, 차단 및 상위 쿼리.
설치/설정 - 모든 설정 로그가 있는 부트스트랩 폴더 설정 - 기본 설정: SQL LogScout
데이터 수집 시나리오 "설정"을 사용합니다.
백업/복원 - 백업/복원 진행률 Xevent(backup_restore_progress_trace)
- 백업 복원 진행률에 대한 추적 플래그
- SQL VSS 기록기 로그(SQL Server 2019 이상 버전)
- VSS 백업 관련 시나리오에 대한 OS(VSS 관리) 로그
- 성능 모니터
- 기본 설정: SQL LogScout
데이터 수집 시나리오 "BackupRestore"를 사용합니다.
메모리 사용량 - 메모리 클럭 DMV 또는 DBCC MEMORYSTATUS
- 성능 모니터
- 기본 설정: SQL LogScout
데이터 수집 시나리오 "메모리"를 사용합니다.
- 기본 설정: SQL 넥서스
사용할 시나리오:메모리 브로커에서 메모리 출력 및 보기 가져오기.
메모리 덤프 - 특정 T-슈팅 시나리오에 대해 캡처된 수동 메모리 덤프
- 예외 시나리오에 대해 자동으로 생성된 메모리 덤프
- 기본 설정: SQL LogScout
데이터 수집 시나리오 "DumpMemory"를 사용합니다.

- 대안: SQLDumper

- 대안: TSS V2
시나리오 "SQL Base"를 사용하여 기존 메모리 덤프를 수집합니다.
- 기본 설정: WinDbg(Windows용 디버깅 도구)
사용할 시나리오: 메모리 덤프 로드 및 분석

- 대안: SQL CallStack 해결 프로그램
데이터베이스 손상 SQL I/O 패턴 스트레스 시뮬레이션 SQLIOSim