The Starplex forum

Default trace in SQL Server

Got any useful information to offer? or perhaps you need to ask for help.

Default trace in SQL Server

Postby Deathlok » Fri Jan 04, 2013 12:58 pm

Copied from this article
http://www.mssqltips.com/sqlservertip/1111/default-trace-in-sql-server-2005/
Replicated below in case it ever disappears from the Internet

Problem
I have been running SQL Server 2005 server side traces to address some SQL Server 2005 performance issues. I have noticed an unusual trace session that is running. I know I have not been running this trace and know I have been diligent about running only a single trace to not impact performance. So where did this trace session coming from?

Solution
SQL Server 2005 is running a default trace. You can think of this as a replacement to the black box mode trace that could have been run in SQL Server 2000 where the last 5 MB of data is captured. The trace's impact should be minimal to the server, but is valuable to be aware of as a DBA or Developer responsible for the server.

How can I find out if the trace is running on my SQL Server?

The simplest means to determine if the trace is running is to execute the following command:

SELECT *
FROM fn_trace_getinfo(default);
GO

What does the output indicate?

Result Set Description
Traceid_____Unique identifier for the trace
Property = 1 Configured trace options
Property = 2 Trace file name
Property = 3 Max file size for the *.trc file
Property = 4 Stop time for the trace session
Property = 5 Current trace status (1 = On and 0 = Off)
Value_______Current value for the traceid\property combination


Where is this trace file stored by default?

The trace is stored in the LOG directory for your SQL Server instance (i.e. C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\) at the root of where your SQL Server is installed.

Another alternative to determine if the trace is running is to review sp_configure.

To determine if the trace is configured to run, execute sp_configure and review the 'default trace enabled' option. When the config_value and run_value are equal to 1, then this trace is running.

How can I disable this default trace?

To disable the default trace from running, issue the following commands:

EXEC master.dbo.sp_configure 'allow updates', 1;
GO
EXEC master.dbo.sp_configure 'show advanced options', 1;
GO
EXEC master.dbo.sp_configure 'default trace enabled', 0;
GO
RECONFIGURE WITH OVERRIDE;
GO
EXEC master.dbo.sp_configure 'show advanced options', 0;
GO
EXEC master.dbo.sp_configure 'allow updates', 0;
GO

*** NOTE *** - When you issue these commands, the trace stops executing immediately.

Should I disable this trace?

If you were not aware of this trace running and you were not having related or suspected performance issues from this trace, I would say maybe not. The final answer should come after reviewing the output from the trace files to determine if the data is valuable to you. Invaluable information like login creations and drops are captured in these files. You might also find other jewels that may answer some recent outstanding questions. If the value of the information exceeds the potential issue from running this trace, then it should remain enabled. I also encourage you to consider this trace as a source when troubleshooting an issue, so consider reviewing this file the next time a question goes unanswered.

How can I review the data captured in the trace files?

Let's end on an easy question. Just navigate to the directory where the files are located i.e. C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\ and double click on the files. Profiler should load and permit you to browse the contents interactively.
It ain't the years honey, it's the mileage.
User avatar
Deathlok
Doomsday Machine
 
Posts: 253
Joined: Wed Jan 19, 2011 5:49 pm
Location: United Kingdom

Re: Default trace in SQL Server

Postby Deathlok » Fri Jan 04, 2013 1:01 pm

To stop a particualr trace use the results of trace_getinfo to identify the traceid of the one you want to stop then use the following query

sp_trace_setstatus @traceid, @status (0=stop, 1=start, 2=stop/purge)

So to stop a trace with an id of 2

sp_trace_setstatus 2,0
It ain't the years honey, it's the mileage.
User avatar
Deathlok
Doomsday Machine
 
Posts: 253
Joined: Wed Jan 19, 2011 5:49 pm
Location: United Kingdom


Return to Hints and Tips

  • Who is online

    Users browsing this forum: No registered users and 143 guests

cron