반응형

/**********************************************************************************************
-- Title : [SQL Server] SQLDumper 이용한 메모리 dump 수집
-- Reference : http://ceusee.springnote.com/pages/507395
-- Key word : SQLDumper Memory Dump 덤프
**********************************************************************************************/
SQL Server 2005 : http://support.microsoft.com/?id=917825
SQL Server 2000 : http://support.microsoft.com/kb/827690

Process ID 확인

  1. sqlserver.exe application에 대한 process ID를 확인

    1.  작업 관리자에서 확인 하는 방법

      • CTRL + ALT + DELETE를 눌러서 작업 관리자를 open
      • 프로세스 Tab을 선택
      • 모든 사용자의 프로세스 표시를 선택 하고, 보기 메뉴에서 열 선택에서 PID(프로세스 식별자)를 선택
      •  sqlservr.exe application process ID를 확인
    2. SQL Errorlog에서 확인 하는 방법

      1. Errorlog 위치(Default): C:\Program Files\Microsoft SQL Server\MSSQL\LOG
      2. 2003-08-25 15:10:27.59 server Microsoft SQL Server 2000 - 8.00.760(Intel X86) Dec 17 2002 14:22:05 Copyright (c) 1988-2003 Microsoft Corporation Developer Edition on Windows NT 5.1 (Build 2600: Service Pack 1) 2003-08-25 15:10:27.61 server Copyright (C) 1988-2002 Microsoft Corporation.

        2003-08-25 15:10:27.61 server All rights reserved.

        2003-08-25 15:10:27.61 server Server Process ID is 3968.



 SQL 2000

  1. sqldumper.exe를 실행 한다.

  2.  Installation Drive: \Program Files\Microsoft SQL Server\MSSQL$instance name\Bin해당 폴더에 sqldumper.exe, dbghelp.dll 파일이 있는지 확인.

  3.  다음의 명령어를 실행

    1. Full dump 수집일 경우 : Sqldumper.exe ProcessID 0 0x34

    2.  Mini dump 수집일 경우 : sqldumper.exe ProcessID 0 0x24

    3.  Filtered dump 수집일 경우 : Sqldumper.exe ProcessID 0 0x804



SQL 2005

  1. sqldumper.exe를 실행 한다.
  2. Installation Drive: \Program Files\Microsoft SQL Server\MSSQL$instance name\Bin해당 폴더에 sqldumper.exe, dbghelp.dll 파일이 있는지 확인.
  3.  다음의 명령어를 실행

    1.  Full dump 수집일 경우 : Sqldumper.exe ProcessID 0x01100
    2.  Mini dump 수집일 경우 : Sqldumper.exe ProcessID 0 0x0120
    3. Filtered dump 수집일 경우 : Sqldumper.exe ProcessID 0 0x8104

 주의

SQL2005에서 sqldumper.exe를 명령 프롬프트에서 실행하여 Skinny Dump(Filtered Dump) 생성시

다음의 주의사항을 유의해야 합니다. AV, Assertion 등의 Exception 발생시 Trace Flag(2551)을 이용하여

Filtered Dump를 받게 되면 SQL서버 프로세스에 의해 sqldumper.exe가 실행되기 때문에 아래의 조건이

자연스럽게 충족되지만 명령 프롬프트에서 sqldumper.exe를 별도로 실행하여 Filtered Dump를 생성하는

경우에는 아래의 조건이 충족되도록 해 주어야 할 것입니다.

Common filtered dump failures

n      For command line invoke:

n      It is critical that the sqldumper process is launched from the same window session as one hosting sqlserver. This means that if you are running as a service you can do filtered dump from console session only.

n      sqldumper should be launched under the same account as one used by sqlserver processsqldumper.exe를 실행 한다.

반응형

+ Recent posts