sys.dm_exec_sessions (języka Transact-SQL)
Zwraca jeden wiersz na uwierzytelnionej sesja na SQL Server.sys.dm_exec_sessionsjest serwer -zakres widok zawierający informacje o wszystkich połączeń aktywnych użytkowników i wewnętrznych zadań.Informacje te obejmująwersja klient, nazwa programu klient , logowania klient czas, logowania użytkownika, bieżące ustawienie sesja i więcej. Użycie sys.dm_exec_sessions Pierwszy widok bieżącego obciążenia systemu oraz do identyfikacji sesja zainteresowania i Dowiedz się więcej informacji na temat sesja przy użyciu innych dynamicznego zarządzania widoki lub funkcje zarządzania dynamicznym.
sys.dm_exec_connections, sys.dm_exec_sessions, I sys.dm_exec_requests mapowania dynamiczne zarządzanie widokami sys.sysprocessestabela systemowa.
Nazwa kolumny |
Typ danych |
Opis |
---|---|---|
session_id |
smallint |
Identyfikuje sesja skojarzonych z każdego aktywnego połączenia głównego.Nie jest nullable. |
login_time |
datetime |
Czas, kiedy została ustanowiona sesja .Nie jest nullable. |
host_name |
nvarchar(128) |
Nazwastacja robocza klient, specyficzne dla sesja. Wartość jest NULL, wewnętrzny sesji.Jest nullable. |
program_name |
nvarchar(128) |
Nazwa programu klient , który zainicjował sesja.Wartość jest NULL, wewnętrzny sesji.Jest nullable. |
host_process_id |
int |
Identyfikator procesu programu klient , który zainicjował sesja.Wartość jest NULL, wewnętrzny sesji.Jest nullable. |
client_version |
int |
TDS protokół wersja interfejs , który jest używany przez klient do połączenia z serwerem.Wartość jest NULL, wewnętrzny sesji.Jest nullable. |
client_interface_name |
nvarchar(32) |
Nazwa protokołu, która jest używana przez klient do połączenia z serwerem.Wartość jest NULL, wewnętrzny sesji.Jest nullable. |
security_id |
varbinary(85) |
Microsoft Windows identyfikator zabezpieczeń skojarzony z logowania.Nie jest nullable. |
login_name |
nvarchar(128) |
SQL ServerNazwa logowania, pod którym sesja jest w trakcie wykonywania.Aby oryginalna nazwa logowania utworzenia sesja, zobacz original_login_name.Może być SQL Server uwierzytelniona nazwa logowania lub tekst Windows uwierzytelnione domena użytkownika nazwy.Nie jest nullable. |
nt_domain |
nvarchar(128) |
domena systemu Windows dla klient , jeśli sesja korzysta z uwierzytelniania systemu Windows lub zaufane połączenie.Ta wartość jest równa NULL dla sesji wewnętrznego i nie-użytkownicydomena .Jest nullable. |
nt_user_name |
nvarchar(128) |
Nazwa użytkownika systemu Windows dla klient , jeśli sesja korzysta z uwierzytelniania systemu Windows lub zaufane połączenie.Ta wartość jest równa NULL dla sesji wewnętrznego i nie-użytkownicydomena .Jest nullable. |
status |
nvarchar(30) |
Stan sesja.Możliwe wartości:
Nie jest nullable. |
context_info |
varbinary(128) |
Wartość CONTEXT_INFO dla sesja.Informacje kontekstu jest zestaw przez użytkownika za pomocą USTAWIĆ CONTEXT_INFO instrukcja.Jest nullable. |
cpu_time |
int |
CPU czasw milisekundach, używany przez tę sesja.Nie jest nullable. |
memory_usage |
int |
Liczba stron 8 KB pamięci używanej przez tę sesja.Nie jest nullable. |
total_scheduled_time |
int |
Całkowity czasw milisekundach, dla których sesja (wniosków w ramach) zostały zaplanowane do wykonania.Nie jest nullable. |
total_elapsed_time |
int |
Czas w milisekundach od momentu ustanowienia sesja .Nie jest nullable. |
endpoint_id |
int |
Identyfikator punktu końcowego skojarzonych z sesja.Nie jest nullable. |
last_request_start_time |
datetime |
Czas rozpoczęło się ostatniego żądania w sesja .Zawiera aktualnie wykonywanego żądania.Nie jest nullable. |
last_request_end_time |
datetime |
Godzina zakończenia ostatniego żądania w sesja.Jest nullable. |
reads |
bigint |
Liczba odczytów przeprowadzone przez żądania w tej sesjapodczas tej sesja.Nie jest nullable. |
writes |
bigint |
Liczba zapisów przeprowadzone przez żądania w tej sesjapodczas tej sesja.Nie jest nullable. |
logical_reads |
bigint |
Liczba odczytów logiczne, wykonanych w sesja.Nie jest nullable. |
is_user_process |
bit |
0, jeśli sesja jest system sesja.W przeciwnym razie jest 1.Nie jest nullable. |
text_size |
int |
Ustawienie TEXTSIZE dla sesja.Nie jest nullable. |
language |
nvarchar(128) |
Ustawienie języka dla sesja.Jest nullable. |
date_format |
nvarchar(3) |
Ustawienie format daty dla sesja.Jest nullable. |
date_first |
smallint |
Ustawienie DATEFIRST dla sesja.Nie jest nullable. |
quoted_identifier |
bit |
Ustawienie QUOTED_IDENTIFIER dla sesja.Nie jest nullable. |
arithabort |
bit |
Ustawienie ARITHABORT dla sesja.Nie jest nullable. |
ansi_null_dflt_on |
bit |
Ustawienie ANSI_NULL_DFLT_ON dla sesja.Nie jest nullable. |
ansi_defaults |
bit |
Ustawienie ANSI_DEFAULTS dla sesja.Nie jest nullable. |
ansi_warnings |
bit |
Ustawienie ANSI_WARNINGS dla sesja.Nie jest nullable. |
ansi_padding |
bit |
Ustawienie spowodowałyby dla sesja.Nie jest nullable. |
ansi_nulls |
bit |
Ustawienia ANSI_NULLS dla sesja.Nie jest nullable. |
concat_null_yields_null |
bit |
Ustawienie CONCAT_NULL_YIELDS_NULL dla sesja.Nie jest nullable. |
transaction_isolation_level |
smallint |
Transakcja poziom izolacji sesja. 0 = Nieokreślone 1 = ReadUncomitted 2 = Parametr ReadCommitted 3 = Repeatable 4 = Serializable 5 = Migawki Nie jest nullable. |
lock_timeout |
int |
Ustawienie LOCK_TIMEOUT dla sesja.Wartość w milisekundach.Nie jest nullable. |
deadlock_priority |
int |
Ustawienie DEADLOCK_PRIORITY dla sesja.Nie jest nullable. |
row_count |
bigint |
Liczba wierszy zwracanych w sesja do tego punktu.Nie jest nullable. |
prev_error |
int |
Identyfikator ostatniego błędu zwracany w sesja.Nie jest nullable. |
original_security_id |
varbinary(85) |
MicrosoftWindows identyfikator zabezpieczeń , który jest skojarzony z original_login_name.Nie jest nullable. |
original_login_name |
nvarchar(128) |
SQL ServerNazwa logowania klient używany do utworzenia tej sesja.Może być SQL Server uwierzytelniona nazwa logowania lub tekst Windows uwierzytelnione domena użytkownika nazwy.Należy zauważyć, że sesja może mieć przeszli wiele przełączeń kontekstu bezpośrednia lub pośrednia po początkowym połączeniu.Na przykład jeśli Wykonywanie jako jest używana.Nie jest nullable. |
last_successful_logon |
datetime |
Godzina ostatniego pomyślnego logowania dla original_login_name przed rozpoczęciem bieżącej sesja . |
last_unsuccessful_logon |
datetime |
Czas ostatniej próby logowania nie powiodło się dla original_login_name przed rozpoczęciem bieżącej sesja . |
unsuccessful_logons |
bigint |
Liczba nieudanych prób logowania dla original_login_name między last_successful_logon i login_time. |
group_id |
int |
Identyfikator grupa obciążenia , do której należy dany tej sesja .Nie jest nullable. |
Uprawnienia
Wymaga uprawnienia Wyświetlanie stanu serwera na serwerze.
Ostrzeżenie
Jeśli użytkownik ma uprawnienie WYŚWIETL stan serwera na serwerze, użytkownik będzie widział nakaz wszystkie sesje na wystąpienie SQL Server; w przeciwnym razie użytkownik zobaczy tylko w bieżącej sesja.
Uwagi
Statystyka logowania dla zgodności z kryteriami wspólnymi
Gdy zgodności z kryteriami wspólnymi włączone jest włączona opcja przy użyciu procedura składowana sp_configure, statystyka logowania są przechowywane i wyświetlane w następujących kolumnach sys.dm_exec_sessions:
last_successful_logon
last_unsuccessful_logon
unsuccessful_logons
Jeśli ta opcja konfiguracja serwera nie jest włączona, te sys.dm_exec_sessions kolumny spowoduje zwrócenie wartości null .Aby uzyskać więcej informacji dotyczących sposobu zestaw tej opcji konfiguracja serwera, zobacz zgodności z kryteriami wspólnymi włączona opcja.
Relacja Cardinalities
Z |
Aby |
Na / Apply |
Relacja |
---|---|---|---|
sys.dm_exec_sessions |
sys.dm_exec_requests |
session_id |
Jeden na zero lub jeden do wielu |
sys.dm_exec_sessions |
sys.dm_exec_connections |
session_id |
Jeden na zero lub jeden do wielu |
sys.dm_exec_sessions |
sys.dm_tran_session_transactions |
session_id |
Jeden na zero lub jeden do wielu |
sys.dm_exec_sessions |
sys.dm_exec_cursors(session_id | 0) |
session_idZASTOSUJ KRZYŻOWE ZEWNĘTRZNE ZASTOSOWANIA |
Jeden na zero lub jeden do wielu |
sys.dm_exec_sessions |
sys.dm_db_session_space_usage |
session_id |
Jeden do jednego |
Przykłady
A.Znajdowanie użytkowników podłączonych do serwera
Poniższy przykład znajduje użytkowników podłączonych do serwera i zwraca liczbę sesji dla każdego użytkownika.
SELECT login_name ,COUNT(session_id) AS session_count
FROM sys.dm_exec_sessions
GROUP BY login_name;
B.Znajdowanie długim kursory
Następujący przykład wyszukuje kursory, które zostały otwarte dla więcej niż określony okres czas, który utworzył kursory i jakie sesja są kursory.
USE master;
GO
SELECT creation_time ,cursor_id
,name ,c.session_id ,login_name
FROM sys.dm_exec_cursors(0) AS c
JOIN sys.dm_exec_sessions AS s
ON c.session_id = s.session_id
WHERE DATEDIFF(mi, c.creation_time, GETDATE()) > 5;
C.Znajdowanie bezczynne sesje, które mają otwarte transakcje
Następujący przykład wyszukuje sesji, które mają otwarte transakcje i są bezczynne.Bezczynna sesja jest takie, które ma żadnego wniosku, aktualnie uruchomione.
SELECT s.*
FROM sys.dm_exec_sessions AS s
WHERE EXISTS
(
SELECT *
FROM sys.dm_tran_session_transactions AS t
WHERE t.session_id = s.session_id
)
AND NOT EXISTS
(
SELECT *
FROM sys.dm_exec_requests AS r
WHERE r.session_id = s.session_id
);