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 "%output_path%%server%_MSINFO32.TXT" /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=""%sspath%log\log*.trc" "%output_path%"" />
<CustomTask enabled="true" groupname="MsInfo" taskname="Get SQLDumper log" type="Copy_File" point="Startup" wait="OnlyOnShutdown" cmd=""%sspath%log\SQLDUMPER_ERRORLOG*.*" "%output_path%"" />
<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"%output_path%sp_blocker_pss80.out" -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"%output_path%sp_blocker_pss80.out" -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 수집로그파일경로 알아서 조정
'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 |