Learn More





DNN Community Blog

The Community Blog is a personal opinion of community members and by no means the official standpoint of DNN Corp or DNN Platform. This is a place to express personal thoughts about DNNPlatform, the community and its ecosystem. Do you have useful information that you would like to share with the DNN Community in a featured article or blog? If so, please contact .

The use of the Community Blog is covered by our Community Blog Guidelines - please read before commenting or posting.

Using SQL Profiler with DNN


SQL Profiler is a great tool to find out the SQLs being executed by your application. It comes very handy in troubleshooting customer issues. 

Disabling Host Scheduler

DNN comes with a Scheduler that allows various background tasks to execute at different frequencies. Depending on the frequencies defined, Scheduler can pretty much run ay time, and as a result you can see several SQLs running in your profiler. It is advised to disable the scheduler while running the SQL Profiler so you can focus on your SQLs only.

Go into Host > Schedule > Settings section > Select Scheduler Mode as “Disabled” and click Update


SQL Profiler can be launched from SQL Server Management Studio through Tools > SQL Server Profiler. It can also be launched directly from Windows also.

Connect to Server

Select the server you want to connect

Trace Properties

By default SQL Profiler produces a lot of information, we need to exclude many of those. On the “Trace Properties” dialog, select “Events Selection” tab.


Unselect everything and make sure only “RPC: Completed” under “Stored Procedures” and “SQL:BatchCompleted” under TSQL is selected. Ensure 

Column Filters

Click on the button “Column Filters” to launch “Edit Filter” dialog. Now select the “TextData” item from the list and edit the “Not Like” area. Add %sp_reset_coonection%. Note the “%” before and after, they are both needed. This is instructing SQL Profiler to exclude all the records that have text “sp_reset_connection” text in the column TextData. This should remove lots of redundant records.

View the Trace

Once you save the above filters, click on Run to start getting the Trace. You can actually copy paste the exact call and run in SQL Server Management Studio. Now you need to do an action on the browser that can generate the SQLs, e.g. refresh the page where your module is located.


Please note that running SQL Profiler can result in performance penalties, so it is advised to run it for smaller period of times in a production environment. 


Jonathan Sheely
This is pretty much verbatim the steps I take when diagnosing performance issues in DNN. Pretty easy to see what should be cached and what isn't when you hit refresh.
Jonathan Sheely Wednesday, January 28, 2015 12:21 PM (link)
Richard Howells
>>Pretty easy to see what should be cached and what isn't when you hit refresh.

Depends what level of caching you are interested in. F5/Refresh refreshes the page AND its dependencies. Thus it bypasses the browser cache and may request significantly more than a link to the same page would.
Richard Howells Sunday, February 01, 2015 12:57 PM (link)
Jonathan Sheely
@Richard This would be server side caching of data. The point is to see what is and isn't hitting the database. A page refresh and pulling additional client side dependencies is not a condition for a performance penalty on your database.

Jonathan Sheely Sunday, February 01, 2015 2:38 PM (link)
Sebastian Leupold
For performance measures please be aware that SQL Server caches as well, repeated results might be different than the first execution of a query.
Sebastian Leupold Wednesday, February 25, 2015 5:01 PM (link)

Comment Form

Only registered users may post comments.


2sic Daniel Mettler (124)
Aderson Oliveira (15)
Alec Whittington (11)
Alex Shirley (10)
Andrew Nurse (30)
Anthony Glenwright (5)
Antonio Chagoury (28)
Ash Prasad (21)
Ben Schmidt (1)
Benjamin Hermann (25)
Benoit Sarton (9)
Beth Firebaugh (12)
Bill Walker (36)
Bob Kruger (5)
Brian Dukes (2)
Brice Snow (1)
Bruce Chapman (20)
Bryan Andrews (1)
cathal connolly (55)
Charles Nurse (163)
Chris Hammond (203)
Chris Paterra (55)
Clinton Patterson (28)
Cuong Dang (21)
Daniel Bartholomew (2)
Dave Buckner (2)
David Poindexter (3)
David Rodriguez (2)
Doug Howell (11)
Erik van Ballegoij (30)
Ernst Peter Tamminga (74)
Geoff Barlow (6)
Gifford Watkins (3)
Gilles Le Pigocher (3)
Ian Robinson (7)
Israel Martinez (17)
Jan Blomquist (2)
Jan Jonas (3)
Jaspreet Bhatia (1)
Jenni Merrifield (6)
Joe Brinkman (269)
John Mitchell (1)
Jon Henning (14)
Jonathan Sheely (4)
Jordan Coopersmith (1)
Joseph Craig (2)
Kan Ma (1)
Keivan Beigi (3)
Ken Grierson (10)
Kevin Schreiner (6)
Leigh Pointer (31)
Lorraine Young (60)
Malik Khan (1)
Matthias Schlomann (15)
Mauricio Márquez (5)
Michael Doxsey (7)
Michael Tobisch (3)
Michael Washington (202)
Mike Horton (19)
Mitchel Sellers (28)
Nathan Rover (3)
Navin V Nagiah (14)
Néstor Sánchez (31)
Nik Kalyani (14)
Peter Donker (52)
Philip Beadle (135)
Philipp Becker (4)
Richard Dumas (22)
Robert J Collins (5)
Roger Selwyn (8)
Ruben Lopez (1)
Ryan Martinez (1)
Salar Golestanian (4)
Sanjay Mehrotra (9)
Scott McCulloch (1)
Scott S (11)
Scott Wilkinson (3)
Scott Willhite (97)
Sebastian Leupold (80)
Shaun Walker (237)
Shawn Mehaffie (17)
Stefan Cullmann (12)
Stefan Kamphuis (12)
Steve Fabian (31)
Timo Breumelhof (24)
Tony Henrich (3)
Torsten Weggen (2)
Vicenç Masanas (27)
Vincent Nguyen (3)
Vitaly Kozadayev (6)
Will Morgenweck (37)
Will Strohl (163)
William Severance (5)
Try Evoq
For Free
Start Free Trial
a Demo
See Evoq Live
Need More Information?