Я полагаю, что при должной осмотрительности вы подтвердили, что ЦП фактически потребляется процессом SQL (счетчики категории процессов perfmon подтвердили бы это). Обычно для таких случаев вы берете выборку соответствующих счетчиков производительности и сравниваете их с базовым уровнем, который вы установили в условиях нормальной нагрузки. После того, как вы решите эту проблему, я рекомендую вам установить такой базовый уровень для будущих сравнений.
Вы можете точно определить, где SQL тратит каждый цикл ЦП. Но зная, где искать, нужно много знать, как и опыт. Это SQL 2005/2008 или 2000?
К счастью для 2005 года и новее, есть несколько готовых решений. У вас уже есть пара хороших указателей здесь с ответом Джона Самсона. Я хотел бы добавить рекомендацию для загрузки и установки отчетов панели мониторинга производительности SQL Server . Некоторые из этих отчетов включают самые популярные запросы по времени или по операциям ввода-вывода, наиболее часто используемые файлы данных и т. Д., И вы можете быстро понять, в чем проблема. Вывод является как числовым, так и графическим, поэтому он более полезен для начинающих.
Я бы также порекомендовал использовать скрипт Адама "Кто активен" , хотя он немного более продвинутый.
И, наконец, что не менее важно, я рекомендую вам скачать и прочитать технический документ MS SQL Customer Advisory Team по анализу производительности: Ожидания и очереди SQL 2005 .
Я также рекомендую посмотреть на ввод-вывод. Если вы добавили нагрузку на сервер, который очищает пул буферов (т. Е. Ему нужно столько данных, что он вытесняет страницы с кэшированными данными из памяти), результатом будет значительное увеличение ЦП (звучит удивительно, но это правда). Виновником обычно является новый запрос, который сканирует большую таблицу целиком.