Для этого есть DMV, sys.dm_exec_query_stats (Transact- SQL) . Например:
Поиск первых N запросов
В следующем примере возвращается информация о пяти первых запросах, ранжированных по среднему времени ЦП. В этом примере запросы агрегируются в соответствии с их запросом ha sh, так что логически эквивалентные запросы сгруппированы по их совокупному потреблению ресурсов.
SELECT TOP 5 query_stats.query_hash AS "Query Hash",
SUM(query_stats.total_worker_time) / SUM(query_stats.execution_count) AS "Avg CPU Time",
MIN(query_stats.statement_text) AS "Statement Text"
FROM
(SELECT QS.*,
SUBSTRING(ST.text, (QS.statement_start_offset/2) + 1,
((CASE statement_end_offset
WHEN -1 THEN DATALENGTH(ST.text)
ELSE QS.statement_end_offset END
- QS.statement_start_offset)/2) + 1) AS statement_text
FROM sys.dm_exec_query_stats AS QS
CROSS APPLY sys.dm_exec_sql_text(QS.sql_handle) as ST) as query_stats
GROUP BY query_stats.query_hash
ORDER BY 2 DESC;
Ваш конкретный c вопрос задает о execution_count
столбец, но, как видно выше, можно найти много полезной информации.