Odpowiedzi:
Możesz to znaleźć w DMV :
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
W przeciwieństwie do śledzenia powinno to być całkowicie bezpieczne do uruchomienia na serwerze produkcyjnym.
Pobrałbym dane produkcyjne za pomocą SQL Profiler i zebrałem kod / partie, które mają największe odczyty i zapisy. Filtruj ślad, aby uzyskać tylko procedury i partie, które mają wysoką liczbę odczytów / zapisów. Wybierz próbkę pasującą do Twojego oka: powiedzmy, że ponad milion czyta lub pisze.
Pobrałbym próbkę tych wywołań na maszynę deweloperską / testującą i uruchomiłem je w Management Studio z włączoną opcją „Dołącz statystyki klienta” (w menu Zapytanie - Dołącz statystyki klienta). Następnie pojawi się osobne okno z informacjami o statystykach klienta: Bajty wysłane od klienta, Bajty odebrane z serwera.
NIE WŁĄCZAJ ŚLEDZENIA NA DB PRODUKCJI BEZ FILTROWANIA DANYCH !!! Przefiltruj jak najwięcej (według db, nazwy hosta, co tylko uważasz) i dopiero wtedy rozpocznij śledzenie. Nie zapomnij zamknąć Profilera po :-).
PS: Przypomniałem sobie inną fajną opcję: przez pewien czas powinieneś również zapisywać dane za pomocą Perfmon (wybrałem tylko parametry IO). Profiler ma ciekawą funkcję importowania razem pliku śledzenia i pliku danych perfmon. I widać tam, kiedy masz największe skoki we / wy.
PS2: Zgadzam się, że opcja Gajusza jest bardziej elegancka. Ale moją nieporęczną odpowiedź zostawiam potomstwu! :-)
Jeśli jeszcze na to nie spojrzałeś, możesz spróbować sp_WhoIsActive Adama Machanica. Niedawno napisał serię postów na blogu wyjaśniających różne funkcje wbudowane w sp_WhoIsActive, z których jedną jest @delta_interval.
To nie tylko pokaże ci, co zajmuje najwięcej procesora lub we / wy ogółem, ale może również pokazać, co zajmuje teraz najwięcej procesora lub we / wy.
Sprawdź następujące serie blogów, aby uzyskać pełne wyjaśnienie tej funkcji:
http://whoisactive.com/docs/01_background/
Poniższy post na blogu wyjaśnia, w jaki sposób posortować dane wyjściowe sp_WhoIsActive i wybrać kolumny do wyświetlenia:
http://whoisactive.com/docs/24_output/
Jest to jeden z wielu postów dostępnych w poniższym łączu aktualizacji, który skonfigurował.
Wersja 11.0 jest dostępna od momentu udzielenia odpowiedzi, więc jeśli używasz starszej wersji, może być czas na aktualizację: D