Відповіді:
Ви можете знайти це з DMV s:
SELECT session_id, num_writes, st.text AS statement_text
FROM sys.dm_exec_connections AS ec
CROSS APPLY sys.dm_exec_sql_text(ec.most_recent_sql_handle) AS st
ORDER BY num_writes DESC
На відміну від трасування, це має бути абсолютно безпечним для запуску на виробничому сервері.
Я б простежив виробничі дані за допомогою SQL Profiler і зібрав би код / партії з найбільшою кількістю читань і записів. Фільтруйте трасування, щоб отримати лише процедури та партії з високим рівнем читання / запису. Виберіть зразок, який підходить вашому оці: скажімо, більше 1 мільйона читає чи пише.
Я б взяв зразок цих викликів на машину розробки / тестування та запустив їх у студії управління з увімкненою опцією "Включити статистику клієнта" (у меню Запит - включити статистику клієнта). Тоді у вас буде окреме вікно з інформацією про статистику клієнта: байти, надіслані від клієнта, байти, отримані від сервера.
НЕ МОЖЛИВИЙ ПРОГРАМУ НА ВИРОБНИЦТВІ БД БЕЗ ФІЛЬТРУВАННЯ ДАНИХ !!! Фільтруйте найбільш можливе (за db, ім'ям хосту, у що ви вірите) і лише після цього розпочніть трасування. Не забудьте закрити Профілер після :-).
PS: Я запам’ятав ще один приємний варіант: уздовж трасування на певний період ви також повинні зберігати дані за допомогою Perfmon (вибрав лише параметри IO). У Profiler є приємна функція імпорту разом файлу слідів та файлу даних perfmon. І ви можете бачити там, коли у вас є найбільші шипи IO.
PS2: Я згоден, що варіант Гая є більш елегантним. Але я залишаю свою об'ємну відповідь для нащадків! :-)
Якщо ви ще цього не подивилися, ви можете перевірити sp_WhoIsActive Адама Маханіка. Нещодавно він зробив серію дописів у блогах, де пояснював різні функції, вбудовані в sp_WhoIsActive, однією з яких є @delta_interval.
Це не тільки покаже вам, що займає найбільше CPU або I / O в цілому, але також може показати вам, що займає найбільше CPU або I / O зараз.
Повні пояснення цієї функції див. У наступній серії блогу:
http://whoisactive.com/docs/01_background/
У наступному дописі в блозі пояснюється, як сортувати вихід sp_WhoIsActive та вибрати, які колонки відображати:
http://whoisactive.com/docs/24_output/
Це одне з численних дописів, доступних на наступних посиланнях оновлень, які він налаштував.
На час отримання відповіді доступна версія 11.0, тому якщо ви використовуєте старішу версію, можливо, прийшов час оновлення: D