Successfully reported this slideshow.

Demystifying sql memory dumps

2,571 views

Published on

This is the PPT deck that I had used for my session at SQL Saturday 116 at Bangalore "Demsytifying SQL Server Memory Dumps". This session will help you understand when memory dumps are generated in SQL Server, what information can be gathered without analyzing the dump and how much can be done by just using public symbols.

Published in: Technology
  • Be the first to comment

Demystifying sql memory dumps

  1. 1. Demystifying SQL Server Memory DumpsAmit BanerjeeMicrosoft CorporationBlog: www.troubleshootingsql.comTwitter: @banerjeeamitFacebook: www.facebook.com/TroubleshootingSQL
  2. 2. Agenda When does it happen? How can I be notified? Where are the files? What can I do? Who was responsible? WHY did it happen?
  3. 3. WHEN does it happen  Non-yielding scheduler  Non-yielding resource monitor  Non-yielding IOCP listener  Deadlocked Schedulers  Exceptions/Assertions  Database Corruption  Latch Timeout  Other conditions3 | 1/7/2012 | Footer Goes Here
  4. 4. HOW can I be notified Alerts on EventIDs Use custom FileWatcher task on your LOG folders* Monitor SQL Errorlogs for dump generation messages
  5. 5. WHERE are the files • Default location is LOG folder Path • Symptom dump text file SQLDumpXXXX.txt • Relevant SQL Errorlog snippet SQLDumpXXXX.log • THE mini-dump file SQLDumpXXXX.mdmp
  6. 6. WHAT can I do Why this Kolaveri di? Finally lets Look at analyze .txt and the dump .log files Inspect Windows Event logs Check SQL Errorlogs
  7. 7. WHO was responsiblespid148 Time out occurred while waiting for buffer latch —type 4, bp 0000000832FE1200, page 3:11234374, stat0x7c20009, database id: 120, allocation unit id:72057599731367936, task 0x0000000003C4F2E8 : 0, waittime300, flags 0x1a, owning task 0x0000000003C129B8.Continuing to wait.spid148 **Dump thread – spid = 148, PSS =0x000000044DC17BD0, EC = 0x000000044DC17BE0spid148 ***Stack Dump being sent to D:Microsoft SQLServerMSSQL.1MSSQLLOGSQLDump0001.txtspid148 * Latch timeoutspid148 * Input Buffer 84 bytes -spid148 * DBCC CHECKDB WITH ALL_ERRORMSGSExternal dump process returned no errors.
  8. 8. WHY Demo !!! Time to wake up!  It’s time to play with the debugger! I have some fancy stuff to show you! Can you even read this? You have good eyesight!!!9 |
  9. 9. Resources Whitepaper: How To Diagnose and Correct Errors 17883, 17884, 17887 and 17888 Use the Microsoft Symbol Server to obtain debug symbol files: http://support.microsoft.com/kb/311503 Debugging walkthroughs: http://troubleshootingsql.com/category/debugging/ WinDBG: http://msdn.microsoft.com/en- us/windows/hardware/gg463009.aspx
  10. 10. Thank You !!!

×