Używam SQL Server 2008 Enterprise. Chcę zobaczyć wszystkie aktywne połączenia z serwerem SQL Server i powiązane informacje o wszystkich połączeniach, takie jak adres IP, połączenie z bazą danych lub coś takiego.
Czy istnieją istniejące polecenia, aby rozwiązać ten problem?
sql
sql-server
sql-server-2008
George2
źródło
źródło
Odpowiedzi:
Możesz użyć
sp_who
procedury składowanej.źródło
Zobacz także dokumentację Microsoft dotyczącą sys.sysprocesses .
źródło
hostname
doSELECT
iGROUP BY
klauzul, aby zobaczyć, co klienci są połączone. Właśnie zdałem sobie sprawę z literówki Msftloginame
- czy to artefakt z czasów, gdy nazwy kolumn były ograniczone do 8 znaków? lolORDER BY 1, 2 DESC, 3
Oprócz tego
sp_who
możesz także skorzystać z „nieudokumentowanej”sp_who2
procedury przechowywanej w systemie, która daje bardziej szczegółowe informacje. Zobacz Różnica między sp_who i sp_who2 .źródło
Kliknij ikonę „monitor aktywności” na pasku narzędzi ...
Z komentarzy Thorsten:
W SQL Server Management Studio kliknij prawym przyciskiem myszy Serwer, wybierz „Monitor aktywności” z menu kontekstowego lub użyj skrótu klawiaturowego Ctrl+ Alt+ A.
źródło
Poniżej znajduje się mój skrypt, aby znaleźć wszystkie sesje podłączone do bazy danych. Możesz sprawdzić, czy sesje te wykonują jakieś operacje we / wy i istnieje możliwość ich zabicia.
Skrypt pokazuje także status każdej sesji.
Spójrz poniżej.
źródło
Zrzuciłem to razem, abyś mógł wykonać zapytanie dotyczące wyników
źródło
Pytanie MS wyjaśniające użycie
KILL
polecenia jest dość przydatne, dostarczając informacji o połączeniu:źródło
Możesz wykonać następujące polecenie T-SQL:
źródło