'pssdiag'에 해당되는 글 1건

  1. (펌) pssdiag 또는 sqldiag를 이용하여 sp_blocker_pss파일로 남기기


http://cafe.naver.com/sqlmvp/3839

pssdiag 또는 sqldiag를 이용하여 sp_blocker_pss파일로 남기기 - 안인옥




pssdiag는 SQLServer 7.0과 2000에서 사용하는 성능진단을 위한 수집툴이고요.

따로 다운을 받으셔야 합니다.

http://www.microsoft.com/en-us/download/details.aspx?id=11886

pssdiag는 현재 테스트 및 확인을 할 수가 없어서 아래 사항을 잘 맞게 적용하시면 됩니다.~~ㅡㅡ;

 

sqldiag는 2005부터 2012까지 사용할 수 있는 성능진단을 위한 수집툴입니다.

SQLServer를 설치하면 기본적으로

C:\Program Files\Microsoft SQL Server\110\Tools\Binn\sqldiag.exe가 제공됩니다.

(폴더명 110은 버전별로 바뀝니다)

 

처음에는 C:\Program Files\Microsoft SQL Server\100\Tools\Binn\에 설정 파일이 없습니다.

sqldiag를 실행하면 생깁니다. (SQLDiag.XML, SD_General.XML, SD_Detailed.XML 기타 둥둥~~)

주의할 점은 실행할때 마다 설정파일이 새로 생기니, 같은 이름에 설정을 해놓으면 뭐 되는수가 있습니다.~ㅡㅡ;

 

 

실제로 해보기~!!

1. 첨부파일 : checkblk.sql, sqldiag.bat --> C:\Program Files\Microsoft SQL Server\110\Tools\Binn\로 카피

2. 시작의 실행에서 cmd 엔터

3. cd C:\Program Files\Microsoft SQL Server\110\Tools\Binn\ 엔터

4. sqldiag.exe엔터 실행 후, ctrl+c로 중지

(C:\Program Files\Microsoft SQL Server\110\Tools\Binn\SQLDIAG폴더에 로그파일수집 필요없으면 삭제)

5. SQLDiag.XML이 생김

6. SQLDiag_Test.XML로 파일 이름 변경 후, Text Edit에서 파일 오픈 아래 빨간부분 추가 후, 저장.

<CustomDiagnostics>
<CustomGroup name="msinfo" enabled="true" />
<CustomTask enabled="true" groupname="MsInfo" taskname="Get MSINFO32" type="Utility" point="Startup" wait="OnlyOnShutdown" cmd="start /B /WAIT MSInfo32.exe /computer %server% /report &quot;%output_path%%server%_MSINFO32.TXT&quot; /categories +SystemSummary+ResourcesConflicts+ResourcesIRQS+ComponentsNetwork+ComponentsStorage+ComponentsProblemDevices+SWEnvEnvVars+SWEnvNetConn+SWEnvServices+SWEnvProgramGroup+SWEnvStartupPrograms" />
<CustomTask enabled="true" groupname="MsInfo" taskname="Get default traces" type="Copy_File" point="Startup" wait="OnlyOnShutdown" cmd="&quot;%sspath%log\log*.trc&quot; &quot;%output_path%&quot;" />
<CustomTask enabled="true" groupname="MsInfo" taskname="Get SQLDumper log" type="Copy_File" point="Startup" wait="OnlyOnShutdown" cmd="&quot;%sspath%log\SQLDUMPER_ERRORLOG*.*&quot; &quot;%output_path%&quot;" />
<CustomTask enabled="true" groupname="sp_blocker_pss80" taskname="Gather the sp_blocker_pss80 output" type="Utility" point="Startup" wait="No" cmd="sqlcmd -E -S%server_instance% -icheckblk.sql -o&quot;%output_path%sp_blocker_pss80.out&quot; -w2000" />
</CustomDiagnostics>

--> 하위 버전에서는 다음과 같이 사용하세요

<CustomTask enabled="true" groupname="sp_blocker_pss80" taskname="Gather the sp_blocker_pss80 output" type="Utility" point="Startup" wait="No" cmd="osql -E -S%server_instance% -icheckblk.sql -o&quot;%output_path%sp_blocker_pss80.out&quot; -w2000" />

7. sqldiag.bat 엔터 수집 후, ctrl+c

(7번을 실행할 때 마다, tempdb에 아래와 같은 프로시저가 생김. 이것도 항상 다시 생기므로 주의해야 합니다. 

SQLServer2005버전 이하는 master에 생겼었던 것 같아요~~ㅡㅡ; (확인 가능하신 분들은 확인해서 알려주삼~~@@))

 

8. sp_blocker_pss80.out 확인 (보기가 쉽지는 않으나, 중요한 정보들이 많이 남아있기 때문에 유용한 것 같아요~~^^;)

 

checkblk.sql 구문

 

WHILE 1=1
BEGIN
   EXEC tempdb.dbo.sp_blocker_pss08
   -- Or for fast mode 
   -- EXEC master.dbo.sp_blocker_pss80 @fast=1
   -- Or for latch mode 
   -- EXEC master.dbo.sp_blocker_pss80 @latch=1
   WAITFOR DELAY '00:00:15' --> 시간 알아서 조정
END
GO

 

sqldiag.bat 구문

 

@echo off
set date1=%date:-=%
set time1=%time::=%
set time2=%time1:~0,1%
set time3=%time1:~1,5%

if "%time2%" == " " set time2=0

sqldiag /I "C:\Program Files\Microsoft SQL Server\110\Tools\Binn\SQLDiag_Test.XML" /O "C:\spaceahn\sqldiag\%date1%_%time2%%time3%"

--> /I 설정파일, /O 수집로그파일경로 알아서 조정

checkblk.sql


sqldiag.bat


'Tool' 카테고리의 다른 글

IOPS 계산기~ 얼~~  (0) 2013.05.06
(펌) SQL Server 2012 에서 Extended Events 를 통해 call stack 확인  (0) 2013.04.29
Process Monitor  (0) 2013.04.24
(펌) TPC-C Base 성능 테스트 방법  (0) 2013.04.23
Xperf을 이용한 troubleshooting  (0) 2013.04.19