2007~2011/SQL Server2010. 4. 29. 15:13

SQL Server 가 응답하지 않는 hang 현상이 발생하였을 때, SQL Server 를 설치 시 제공되는 SQLDumper.exe 툴을 사용하여 해당 프로세스 덤프를 수집할 수 있습니다.


[환경]
SQL Server 2005, SQL Server 2008


[고려사항]
덤프가 생성될 디스크의 가용 용량을 확인해야 합니다. 또한 UNC 경로에 덤프를 저장하지 않아야 합니다. 다들 이 정도 센스는 있으시죠? 


[수집방법]
아래 방법은 SQL Server 2008 에서 전체 덤프를 수집하는 방법입니다. 작업 관리자를 통해 SQLSERVR.EXE 의 PID를 확인한 후 아래 명령을 통해 덤프를 수집할 수 있습니다.

C:\Program Files\Microsoft SQL Server\100\Shared> SQLDumper.exe 4520 0 0x01100


아래 그림은 작업 관리자를 통해 PID 를 확인하고 SQLDumper 유틸리티를 사용하여 덤프를 수집하는 과정입니다. 전체 덤프를 수집할 경우 현재 사용 중인 메모리 공간 만큼 파일이 생성되니 디스크 공간 확인은 반드시 필수입니다.




덤프를 생성할 수 있는 유형은 아래와 같습니다.

1. 전체 덤프 파일
Sqldumper.exe ProcessID 0 0x01100

2. mini-dump 파일
Sqldumper.exe ProcessID 0 0x0120

3. 간접적으로 참조되는 메모리 포함하는 mini-dump 파일
ProcessID 0 Sqldumper.exe 0x0120:40

4. 필터링된 덤프 파일
Sqldumper.exe ProcessID 0 0x8100


정상적으로 덤프가 생성된 다면 아래와 같은 형식의 덤프 파일이 생성됩니다.
SQLDmprXXXX.mdmp, SQLDUMPER_ERRORLOG.log

클러스터 환경에는 아래 KB917825 문서를 참고하여 수집 방법을 확인할 수 있습니다.


[참고자료]
How to use the Sqldumper.exe utility to generate a dump file in SQL Server 2005
http://support.microsoft.com/?id=917825


작성자 : Lai Go / 작성일자 : 2010.04.29
Posted by Lai Go