Diagnostic tracing levels

The following is a list of diagnostic tracing levels and the types of information (diagnostic tracing types) that they include. These levels reflect the settings specified in the Database Tracing Wizard. For a description of the various diagnostic tracing types, see Diagnostic tracing types.

Estimated impacts to performance reflect the assumption that tracing data is sent to a tracing database on another database server (recommended).

  • Level 0   This level keeps the tracing session running, but does not send any tracing data to the tracing tables.

  • Level 1   Performance counters are gathered, as well as a sampling of executed statements (once every five seconds). For this level, the diagnostic tracing types include:

    • volatile_statistics, with sampling every 1 second
    • non_volatile_statistics, with sampling every 60 seconds

    This level has a negligible impact on performance.

  • Level 2   This level gathers performance counters and records all executed statements, as well as a sampling of executed plans (once every five seconds). For this level, the diagnostic tracing types include:

    • volatile_statistics, with sampling every 1 second
    • non_volatile_statistics, with sampling every 60 seconds
    • statements
    • plans, sampling every 5 seconds

    This level has a medium impact on performance—up to, but not more than, a 20% overhead.

  • Level 3   This level records the same details as Level 2 but with more frequent plan samples (once every 2 seconds) and detailed blocking and deadlock information. For this level, the diagnostic tracing types include:

    • volatile_statistics, with sampling every 1 second
    • non_volatile_statistics, with sampling every 60 seconds
    • statements
    • blocking
    • deadlock
    • statements_with_variables
    • plans, with sampling every 2 seconds

    This level has the greatest impact on performance—greater than 20% overhead.