This is my 25th blog on SQL Server Trace Flag 2544, Trace Flag 2546 and Trace Flag 2551 in the series of One Trace Flag a Day. You can go to all blogs under that series by clicking here.
We know that SQLDumper.exe is generally used by sql server internally to generate the stack dump whenever some specific problem occurs in SQL Server. That stack dump plays an important role during the troubleshooting of complex issues like Scheduler deadlock, Latch Time Out etc. Whenever SQL Server calls to SQLDumper.exe, it also passes some parameters which decide the type of output dump file. This output can be mini dump file, filtered dump file or full dump file. If you don’t know about SqlDumper.exe application and you wants to know then click here.
From above explanation, it is clear that the use of parameters is completely depends on SQL Server internally. Now the question is: can we change the behavior of generating output as full, filtered or mini dump during SQLDumper.exe uses? Yes, we can change this by using trace flags as mention below:
Trace Flag 2544 – generates full memory dump
Trace Flag 2551 – generates filtered memory dump
Trace Flag 2546 – generates dump file for all threads of SQL Server (mini dump)
By using these trace flags you can change the default behaviour of sql server for passing specific parameters during SqlDumper.exe calls.
PS: Do not use trace flags in production environment without testing it on non production environments and without consulting because everything comes at a cost.
Prince Kumar Rastogi