Мы работаем с SQL Server 2008 с около 50 базами данных различного размера и рабочей нагрузки. Иногда SQL Server полностью загружает процессор примерно на минуту, после чего он падает до нормальной базовой нагрузки.
Моя проблема в том, что я не могу определить, какая база данных или соединение вызывает его (я уверен, что это один конкретный запрос, в котором отсутствует индекс - или что-то в этом роде).
Я нашел T-SQL запросы, которые дают вам замороженное изображение текущих процессов. Есть также представление «недавние дорогие запросы» и, конечно, профилировщик, но трудно сопоставить с «это база данных, которая вызывает его» * 1004 * ответ.
Еще труднее то, что проблема исчезает еще до того, как я запустил профилировщик или монитор активности, и это происходит только один или два раза в день.
В идеале я хотел бы использовать счетчик производительности, чтобы я мог просто запустить его в течение дня или двух, а затем взглянуть на то, что вызвало всплески. Однако я не могу найти соответствующий счетчик.
Есть предложения?