I have a server that's mysteriously using up a lot of CPU late at night, when it shouldn't be under heavy load. This causes some database calls to time out, and I've set up some alerts in PerfMon to trigger if CPU usage goes over 50% and this seems to coincide with the CPU spikes coincide with the database time outs.
I suspect that it's a scheduled task of some sort, but I've looked at the Windows and SQL Server scheduled tasks list and don't find anything. The Windows event logs only contain the database time outs and PerfMon entries indicating that CPU usage has spiked.
My question is this: How do I determine what process is causing the CPU spike without being physically present? I really do not want to have to log into the server at 2 a.m.
Update: It turns out the problem was with the product I'm working on. The problem started manifesting itself during normal work hours, and I didn't have to rely on some sneaky performance investigating technique after all.