Background
I was given trace logs from SQL Profiler that was run for 15min during a timeframe where we have been experiencing 100% CPU on the server hosting SQL. I imported those files to a table called TraceTable
. I did find some possible causes that are not related to Audit Logout, however, the top-most result is from Audit Logout and I'd like to understand why the reads / writes / CPU are so high for only 15min.
Research
I read that the duration of Audit Logout is some factor involving the culmination of time, not just the time from the trace time frame.
But I can't find anything to explain the high read / write / cpu, other than some general statements that Audit Logout is usually not the cause of performance issues. I also found an answer that says the CPU utilization is cumulative like the duration, but the article linked in the answer doesn't explicitly say what the answer says it says. I would like to verify that this is unrelated to the performance issues we're seeing.
Why does Audit Logout show these concerning stats?
Here is the query I ran:
SELECT TOP 100
COUNT(*) AS TotalExecutions,
EventClass,
CAST(TextData as nvarchar(2000)) AS Query ,
SUM(Duration) AS DurationTotal ,
SUM(CPU) AS CPUTotal ,
SUM(Reads) AS ReadsTotal ,
SUM(Writes) AS WritesTotal
FROM
TraceTable
GROUP BY
EventClass,
CAST(TextData as nvarchar(2000))
ORDER BY
CPUTotal DESC
And here is the top result:
(Sorry, I don't have access to the SQL instance so I don't know the exact version. It's safe to assume it's at least 2014, possibly newer)