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:

  • Uruchamianie -aktualnie uruchomionych żądaniach jeden lub więcej

  • Stan uśpienia -aktualnie uruchomione żadne żądania

  • Nieaktywnych — sesja została zresetowana z powodu buforowania połączeń i jest teraz w stanie prelogin.

  • Preconnect -sesja jest w klasyfikatorze Resource Governor.

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
    );