Microsoft KB Archive/248115

From BetaArchive Wiki

FIX: Trace Flag 2521 Treat Exception as Unhandled, Plus Capturing Crash Dump


The information in this article applies to:

  • Microsoft SQL Server version 7.0

BUG #: 56750 (SQLBUG_70)


Prior to Microsoft SQL Server 7.0 SP2 trace flag 2521 (turn off stackdumped AVs to allow process dumps) did not work properly. If -T2521 was used, upon an AV, nothing would happen, but the following error message appears:

User disabled AV/Stack overflow handling -- server will terminate

The server stayed up and Dr. Watson (or whatever default debugger is configured) was never invoked.

The -T2521 feature is needed to facilitate capturing a Sqlservr.exe user-mode crash dump for postmortem analysis. Starting with SQL Server 7.0 SP2 this trace flag works.


Microsoft has confirmed this to be a problem in SQL Server 7.0. This problem has been corrected in U.S. Service Pack 2 for Microsoft SQL Server 7.0. For information about how to download and install the latest SQL Server Service Pack, see the following Microsoft Web site:

For more information, contact your primary support provider.


To examine the resultant user-mode crash dump file under the Visual C 6.0 debugger, the following steps are needed. You can also user windbg, but Visual C 6.0 seems to work better. In many cases you will be working jointly with SQL development, and since SQL development not familiar with windbg using Visual C 6.0 is probably best. Visual C version 5.0 will not work.

  1. You must have sqlservr.pdb, .exe, and .dmp in the same directory for Visual C 6.0 to read the symbols correctly.
  2. Make following registry entry:
  3. Make sure you have access to the crash dump file, and sqlservr.pdb, .dbg, and source files.
  4. In Visual C 6.0, select File and then Open Workspace.
  5. Select "Dump Files" in the Files of type combo box.
  6. Locate the crash dump and click Open. Alternatively, instead of using steps 4-6 you can just type the following provided the preceding registry value is properly set:
  7. Select Build, point to Start Debug, and then click Go (or F5). This pseudo-starts the crash dump.
  8. Debug as normal. You can select threads, view locals, and so forth. Note while this gives the appearance of running sqlservr.exe under a debugger, not all debugger operations are available. For example, you cannot single-step through source, nor set a breakpoint, etc.

Additional query words:

Keywords : kbSQLServ700bug kbDSupport
Issue type : kbbug
Technology : kbSQLServSearch kbAudDeveloper kbSQLServ700

Last Reviewed: June 13, 2001
© 2001 Microsoft Corporation. All rights reserved. Terms of Use.