sqldiag sql server 2005 n.
Skip this Video
Download Presentation
SQLDiag ? ??? SQL Server 2005 ????

Loading in 2 Seconds...

play fullscreen
1 / 26

SQLDiag ? ??? SQL Server 2005 ???? - PowerPoint PPT Presentation

  • Uploaded on

SQLDiag 를 이용한 SQL Server 2005 성능진단. 김종구 과장 (jkkim@microsoft.com) 한국마이크로소프트. SQLDiag 란 ?. SQL Server 2005 진단 데이터 수집 서비스 PSSDiag 툴이 SQLDiag 로 이름이 변경 . SS2K/7.0 에서 사용되던 SQLDiag 가 동일한 이름으로 대체 . SQL Server 관련 이슈에 대한 모든 진단 데이터를 한번에 수집할 수 있는 도구. History. 2001 에 작성 .

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'SQLDiag ? ??? SQL Server 2005 ????' - nasim-parker

Download Now An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
sqldiag sql server 2005

SQLDiag를 이용한SQL Server 2005 성능진단

김종구 과장(jkkim@microsoft.com)


  • SQL Server 2005 진단 데이터 수집 서비스
  • PSSDiag 툴이 SQLDiag로 이름이 변경.
  • SS2K/7.0에서 사용되던 SQLDiag가 동일한 이름으로 대체.
  • SQL Server관련 이슈에 대한 모든 진단 데이터를 한번에 수집할 수 있는 도구
  • 2001에 작성.
  • 고객기술지원부 내에서 SQL Server관련 케이스의 대다수에 사용되고 있음.
  • 다른 제품의 기술지원에도 사용. (Exchange 등)
  • 2003년에 일반에게 공개.
  • SQL Server 2005에서 서버에 내장.
  • SQL Server 2005에서부터 SQLDiag에 대한 기술지원 시작.
SQLDiag가 수집할 수 있는 것?
  • Profiler trace
  • Blocking script/trace
  • Perfmon/Sysmon logs
  • Server configuration and state info
  • SQL Server error logs
  • Event logs
  • MSInfo
  • Virtually any other diagnostic
service vs console app
Service vs. Console App
  • 두 가지 다 운영가능.
  • 서비스로 운영될 경우 무인 작동 가능.
  • 로그 파일과 이벤트 로그에 기록.
  • Supports self-registration/deregistration (/R, /U)
  • Supports service control (START, STOP, STOP_ABORT)
시작 및 중지
  • Console app
    • Run SQLDiag.exe to start it
    • Press Ctrl+C to stop it or create “stop file”
    • Press Ctrl+C a second time to stop ASAP
  • Service
    • SQLDIAG START to start it
    • SQLDIAG STOP to stop it
구성 파일
  • XML과 INI format 지원
  • /I옵션을 통해 지정
  • text editor나 GUI configuration app로 설정 가능
구성 파일
  • SQLDiag에서 3가지 기본 파일 제공:
    • SQLDiag.XML (default) – snapshot of error logs, configuration and state info, and MSInfo
    • SD_General.XML – lightweight version of all diagnostics – Profiler, Perfmon, event logs, etc.
    • SD_Detailed.XML – heavier version of all diagnostics (stmt-level Trace events)
대상 머신과 Instance
  • 구성파일에서 지정.
  • 기본값은 현재 머신의 모든 Instance에서 데이터를 수집
  • 특정 머신이나 Instance를 지정 가능
  • SQL Server sysadmin 그룹의 멤버여야 함.
  • 대상 Instance에 로그인 가능해야 함.
  • Administrators 그룹의 멤버여야 함.

/G (Generic mode)인 경우에는 3번만 충족되면 됨.

  • 기본 output folder …90\Tools\Binn\SQLDiag
  • /O 를 통해 변경가능
  • Profiler와 Perfmon는 rollover 지원
  • 데이터 수집 동안 /C1 옵션을 이용하여 NTFS 압축 가능
  • 폴더는 자동으로 이름 변경이 되거나 덮어 쓰기를 할 수 있음. (/N)
  • Profiler trace는 서버의 Log folder에 기록된 후 이동.
  • Output file 이름은 머신과 Instance 이름을 포함
  • Internal output file은 “##” prefix를 가짐
  • /X 옵션을 이용하여 해당 시점(snapshot)의 데이터 수집 후 중지
  • /L 옵션을 이용하여 schedule된 중지 후 자동으로 재시작
  • SQLAgent를 통해서도 Scheduling이 가능
장기간의 데이터 수집
  • 서비스로 등록하여 실행
  • Target data collection을 위해 일정 사용
  • Output folder renaming 및 auto-restart 사용
  • .TRC 및 .BLG file들의 rolled over로 인한 공간을 절약하기 위해 /C1 옵션 사용 고려
  • 아래 사항에 대해서 모든 가상 서버에 대해 데이터를 자동으로 추출:
    • 대상 서버 이름으로 “.”이 설정된 경우 (default)
    • Cluster node에서 수행이 되는 경우
    • /G (generic mode)가 설정되지 않은 경우 (default)
  • Cluster의 가상 서버들을 확인하고, 각 가상서버의 모든 Instance에 대해 데이터를 수집함.
remote machines
Remote Machines
  • Recommend approach is to install the service on remote machines
  • SQLDiag는 원격 서버에 대해 데이터 수집 가능
  • TRC 파일은 해당 서버에 저장된 후 옮겨짐.
  • 다른 데이터는 SQLDiag가 수행되는 머신에 저장
multiple machines
Multiple Machines
  • 각 머신에 대한 Section을 구성파일에 추가
  • 모든 수집된 데이터는 output folder로 같이 저장됨.
  • 각 머신은 각각의 worker thread를 할당받음.
  • 모든 성능 로그는 하나의 BLG 파일에 남겨짐.
custom tasks
Custom Tasks
  • Supports wide variety of custom tasks:
    • TSQL command
    • TSQL script (with parameters)
    • Registry query, backup
    • Copy file, list file
    • ActiveX scripts (VBScript, JScript, etc.)
    • Batch files, utilities, etc.
    • Groups and nesting
custom tasks1
Custom Tasks
  • Support built-in and user-defined variables
  • Variables can be used within a task, embedded in TSQL scripts, or passed to sub-processes
  • Built-in:
    • startup_path, output_path
    • server, instance, server_instance
    • rsinstance, olapinstance
    • authmode, ssuser, sspwd
    • ssver, sspath, ssregroot, ssbatchrunner
    • output_name, internal_output_name
    • quietmode, compressionmode, genericmode, outputfoldermode
    • starttime, endtime
    • Environment variables
user defined variables
User-defined Variables
  • 구성파일에서 지정 또는 /V 옵션을 사용하여 지정 가능

SQLDIAG /V foo=bar

  • SQLDiag can prompt for variable values at runtime (console app only)
Server에 미치는 영향
  • Performance
    • Minimal for collector itself (<10% CPU)
    • Usually equal to sum of selected diagnostics
    • Dominated by Profiler trace cost
  • Support objects
    • Created in tempdb and dropped afterward
  • Registry entries
    • None for console app
    • Deleted by service deregistration
gui configuration app
GUI Configuration App
  • 구성파일에 대한 생성 및 편집 지원
  • Collection 서비스에 대한 조절 지원
  • Provides limited automatic problem diagnosis
sqldiag vs pssdiag
SQLDiag vs. PSSDiag
  • Essentially the same tool (same code)
  • SQLDiag does not include support files for down level versions of SQL Server
  • SQLDiag does not support ZIP compression
  • SQLDiag can only be run by Administrators
yukon sqldiag vs sphinx sqldiag
Yukon SQLDiag vs. Sphinx SQLDiag
  • Yukon SQLDiag is a superset of Sphinx SQLDiag
  • Sphinx/Shiloh SQLDiag was a snapshot of error logs, configuration, etc.
  • No Perfmon, Profiler, blocking info, or customization
  • Snapshot collection only (no polling support)
  • No multi-instance or multi-machine support
  • No scheduling or built-in compression
  • Diagnostics collected serially rather than in parallel

What’s the perf impact of running this?

Can I add new Perfmon counters or Profiler trace events?

Can I filter the Profiler trace?

Can I run SQLDiag via SQLAgent?

Can I add my own diagnostics to the collection set?

Can I collect diagnostics for Reporting Services, Analysis Services, Notification Services, etc.?

Can I customize the built-in scripts SQLDiag runs?

Can I run multiple instances of SQLDiag?

Is a 64-bit version available?

How do I troubleshoot problems with SQLDiag itself?