New Behavior of SQL:StmtCompleted

My SQL Server Profiler doesn't seem to be correctly processing SQL:StmtCompleted events. SQL Server Books Online (BOL) says that SQL:StmtCompleted will capture SQL statements as they execute within the body of a stored procedure. However, my system isn't capturing SQL statements within a procedure. What's wrong?

The behavior of SQL Server 2000's SQL:StmtCompleted event changed when Microsoft released Service Pack 1 (SP1). Without SP1, the SQL:StmtCompleted event captures execution of SQL statements within a procedure, and you don't need to set the SP:StmtCompleted event. SQL Server 2000 SP1 and later requires you to set the SP:StmtCompleted event to capture the execution of individual statements within a procedure, and the SQL:StmtCompleted event no longer captures execution of statements within a procedure. For a complete explanation of this change, see the Microsoft article "FIX: Incorrect Behavior in SQL Server Profiler Event Generation" at;en-us;q286119. Also, the updated version of BOL, which is available at, correctly says that in SQL Server 2000 SP1 and later, you have to set SP:StmtCompleted to capture events within a procedure.

Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.