Sql-server – Keeping “SQL Trace was started” and “SQL Trace stopped” from filling up the SQL logs

sql-server-2008

I have a SQL2008 server that runs a custom application that starts and then stops a SQL trace every 60 seconds (it does some reporting and summarization on the trace data).

The problem is that my SQL logs are filling up with the "SQL Trace ID 1 was started" and "SQL Trace stopped" entries. This makes it hard to browse through and identify other unusual events.

I can't find any way to turn logging of this event off. Any ideas?

For your reference, I did find a couple of partially-related articles:

  • Microsoft KB 307538 mentions that this was "fixed" (to add logging) in SQL2000 SP2
  • This newsgroup question asks the same question I had, the only answer given is using the "-n" startup parameter to keep all SQL events from showing up in the Application Event log. That's not what I want, though. I want to keep these from being logged in the SQL log at all.

EDIT with some additional curious findings:

This same application is also running on a SQL 2000 server (with SP4). Strangely, the trace start/stop events do not show up in the SQL logs on that server, although they do show up in the Application event log as "19030: SQL Trace started" and "19031: SQL Trace stopped".

If there were a way to revert SQL2008 to this behavior (write to app log, but not SQL log), then that would be nice 🙂

Best Answer

Please enable Trace Flag 3688 and restart the instance. This should prevent these messages from appearing in the SQL Server Error Log