When I query the fn_trace_getinfo() function, I see a trace running. When I try to stop the trace by using EXEC sp_trace_setstatus trace_id, 0, SQL Server shuts down. When I restart SQL Server, the trace is running again. What is this trace, and how do I stop it?

Most likely, your computer is running in C2 audit mode. C2 is an outdated security-auditing level defined by the US Government's Trusted Computer Security Evaluation Criteria (TCSEC) program. Microsoft added the C2 audit mode option to address government requirements that certain contractors document database activity and possible security policy violations.

One of C2's auditing functions is to run a SQL Server Profiler trace at all times. If you stop the trace, SQL Server shuts itself down rather than let you run in a non-audited manner. When you restart SQL Server, the vigilant trace restarts. That explains the behavior you're seeing.

Determine whether you have a contractual requirement to meet C2 auditing levels. If not, I recommend that you disable this option to avoid performance problems.

You can disable the C2 audit mode option by running the command

EXEC sp_configure 'c2 audit mode', 0
RECONFIGURE

Then, restart SQL Server to make the change take effect