Мне кажется, что вы хотите идентифицировать запросы, которые возвращают большие наборы результатов.Если вы поймете это на более глубоком уровне, то вы действительно хотите определить, какие запросы потребляют наибольшее количество данных.Это можно рассматривать как с точки зрения логического чтения, так и физического чтения.
Для просмотра этой информации в отчете вы можете использовать свободно доступные Отчеты панели мониторинга производительности или использовать SQLDMV сервера.
Например, Гленн Берри: 10000 *
/* Top Cached SPs By Total Logical Reads (SQL 2008). Logical reads relate to memory pressure */
SELECT TOP(25) p.name AS [SP Name], qs.total_logical_reads AS [TotalLogicalReads],
qs.total_logical_reads/qs.execution_count AS [AvgLogicalReads],qs.execution_count,
ISNULL(qs.execution_count/DATEDIFF(Second, qs.cached_time, GETDATE()), 0) AS [Calls/Second],
qs.total_elapsed_time, qs.total_elapsed_time/qs.execution_count
AS [avg_elapsed_time], qs.cached_time
FROM sys.procedures AS p
INNER JOIN sys.dm_exec_procedure_stats AS qs
ON p.[object_id] = qs.[object_id]
WHERE qs.database_id = DB_ID()
ORDER BY qs.total_logical_reads DESC;
взято из превосходного
блога по производительности SQL Server : *1010*