Po zainstalowaniu procedury, jeśli zostanie ona wykonana, domyślnie zwraca ona tylko uruchomione procesy użytkownika i dostarcza następujące informacje dla każdego procesu:
Kolumna
Opis
Wyświetlane przez sp_who
Pokazane przez sp_who2
dd gg:mm:ss.mss
Pokazuje czas trwania polecenia. Możemy użyć tej kolumny do identyfikacji długotrwałych transakcji
Nie
Nie
session_id
Identyfikator sesji procesu
tak
tak
sql_text
Aktualnie uruchomione polecenie SQL
Nie
Nie
login_name
Nazwa logowania powiązana z procesem
tak
tak
wait_info
Informacje o oczekiwaniu na proces (zagregowane) na identyfikatorze SPID, taki jak CXPACKET, ASYNC_NETWORK_IO wraz z czasem oczekiwania
Nie
tak
CPU
całkowity czas procesora zużywany przez zapytanie
Nie
tak
tempdb_allocations
Liczba wykonanych zapisów Tempdb – Jeśli zapytanie korzysta z bazy danych TempDB, otrzymujemy informacje o alokacjach tempdb przy użyciu tej kolumny. Na przykład, jeśli użyjemy zmiennej tabelarycznej lub tabeli tymczasowej, zostanie ona utworzona w TempDB i możemy śledzić informacje za pomocą tych kolumn
Nie
Nie
tempdb_current
Liczba aktualnie przydzielonych stron Tempdb – Jeśli zapytanie korzysta z bazy danych TempDB, otrzymujemy informacje o alokacjach tempdb przy użyciu tej kolumny. Na przykład, jeśli użyjemy zmiennej tabelarycznej lub tabeli tymczasowej, zostanie ona utworzona w TempDB i możemy śledzić informacje za pomocą tych kolumn
Nie
Nie
blocking_session_id
Identyfikator sesji blokującej
tak
tak
reads
liczba wykonanych odczytów
Nie
Dysk we/wy
writes
liczba wykonanych zapisów
Nie
Dysk we/wy
physical reads
liczba wykonanych fizycznych odczytów
Nie
Dysk we/wy
used_memory
ilość używanej pamięci
Nie
Nie
status
Stan procesu
tak
tak
open_tran_count
liczba wykorzystanych transakcji
Nie
Nie
percent_complete
Możemy sprawdzić procentowy stan wykonania kilku poleceń za pomocą DMV sys.dm_exec_requests, takich jak polecenia tworzenia kopii zapasowych i przywracania bazy danych. Sp_WhoIsActive wykorzystuje te informacje DMV i wyświetla je jako dane wyjściowe
Nie
Nie
host_name
Nazwa komputera hosta
tak
tak
database_name
Nazwa bazy danych, w której wykonywane jest zapytanie
tak
tak
program_name
Podaje nazwę aplikacji, z której łączy się użytkownik, np. Microsoft SQL Server Management Studio – Query, Azure Data Studio, SQL Server Agent
Nie
tak
start_time
Czas rozpoczęcia procesu
Nie
tak
login_time
Czas logowania
Nie
Nie
request_idID
Identyfikator żądania
tak
tak
collection_time
Czas wykonania ostatniego uruchomienia procedury sp_whoisactive
Nie
Nie
Kilka opcjonalnych parametrów i ich wykorzystanie.
@find_block_leaders:
Można ustawić wartość argumentu @find_block_leaders na 1 i posortować wyniki dla kolumny block_session_count, aby sprawdzić blokery potencjalnych klientów i zablokowane sesje.
W danych wyjściowych widać, że identyfikator sesji 58 jest głównym blokerem i zablokował 2 sesje wymienione poniżej w tabeli wyjściowej.
@get_plans
Załóżmy, że badany jest problem z wydajnością w MS QL Server i zostało zidentyfikowane problematyczne zapytanie. Dobrze jest , jeśli można uzyskać plan jego wykonania, aby spojrzeć na kosztowne operatory.
Można podać argument @get_plans=1, który zawiera dodatkową kolumnę w danych wyjściowych z planem wykonania XML.
Można użyć tego argumentu, aby uzyskać fragment XML, zawierający szczegółowe informacje o blokadach utrzymywanych w sesji SQL Server. Na wyjściu otrzymuje się dodatkowe kolumny.
@get_additional_info
Można ustawić kilka parametrów sesji, które również mogą wpłynąć na wydajność zapytania. Sp_WhoIsActive podaje argument @get_additional_info i pokazuje informacje o tych parametrach.
Można ustawić wartość na 1 , aby przechwytywać informacje o procesach w tle i systemie. Na ogół nie jest to zbyt interesujące, z wyjątkiem obserwowania aktywności wykonywanej przez usługi Service Broker.
@show_own_spid
Można ustawić wartość na 1 , aby przechwycić informacje o sesji, z której aktualnie się korzysta.
Od prawie trzydziestu lat jest pasjonatem informatyki, a zwłaszcza dziedzin dotyczących baz danych, hurtowni danych oraz ogólnie rozumianej tematyki BI. Jego druga pasja to fotografia http://dariuszbrejnak.pl
Jest już dostępny pakiet aktualizacji zbiorczej 19 (CU19) dla Microsoft SQL Server 2022, który zawiera 13 poprawek wydanych po aktualizacji zbiorczej programu SQL Server 2022 Update 18. Aktualizuje on składniki w następujących kompilacjach: Zalecam przetestowanie #CU19 przed Dowiedz się więcej…
Skrypt oparty jest na sys.dm_os_cluster_nodes, który zwraca jeden wiersz dla każdego węzła w konfiguracji wystąpienia klastra pracy awaryjnej (Failover Cluster). Jeśli bieżące wystąpienie jest wystąpieniem klastra pracy awaryjnej (Failover Cluster), zwraca listę węzłów, w których Dowiedz się więcej…
Mamy czasem problem by przejrzeć błędy w ErrorLogu MS SQL Server. Poniżej prosty skrypt, który przeszukuje wpisy w errorlogu od danego dnia, szukając podciąg znaków (opcja).
Ta strona używa plików cookie, aby poprawić Twoje doświadczenia. Zakładamy, że akceptujesz tę politykę tak długo, jak korzystasz z tej witryny.AkceptujPolityka Cookies