• Normally I would say you could use a SQL Server Agent Alert with a performance condition, but it doesn't appear to work. Looks like it's a bug (so a MSFT moderator says on the msdn forums).

    Here's an alternative method that relies on the os ring buffers: http://dba.stackexchange.com/questions/25527/collect-performance-information-on-high-cpu-condition-in-sql-server

    You could schedule that check every x minutes and run the job using sp_start_job when the condition is met.

    -- Gianluca Sartori