Udostępnij za pośrednictwem


sys.dm_exec_sessions (Transact-SQL)

Returns one row per authenticated session on SQL Server.sys.dm_exec_sessions is a server-scope view that shows information about all active user connections and internal tasks.Informacje te obejmują wersja klient, klient nazwę programu, identyfikator logowania klient czas, identyfikator logowania użytkownika, ustawienia bieżącej sesja i inne.Aby najpierw wyświetlić bieżące obciążenie systemu i do identyfikacji sesja odsetek za pomocą sys.dm_exec_sessions, a następnie Dowiedz się więcej dowiedzieć się więcej na temat tej sesja za pomocą innych dynamicznego zarządzania widoków lub funkcji dynamicznego zarządzania.

Mapowania dynamiczne zarządzanie widokami sys.dm_exec_connections, sys.dm_exec_sessions i sys.dm_exec_requests sys.sysprocesses tabela systemowa.

Nazwa kolumna

Typ danych

Description

session_id

smallint

Identyfikuje sesja skojarzonych z każdego aktywnego połączenia podstawowego.Nie jest pustych.

login_time

datetime

Czas sesja została ustanowiona.Nie jest pustych.

host_name

nvarchar(128)

Nazwa klient stacja robocza, które są specyficzne dla sesja.Wartość jest NULL dla wewnętrznego sesji.Jest pustych.

Nazwa programu

nvarchar(128)

Nazwa klient program, który zainicjował sesja.Wartość jest NULL dla wewnętrznego sesji.Jest pustych.

host_process_id

int

Identyfikator procesu programu klienckiego, która zainicjowała sesja.Wartość jest NULL dla wewnętrznego sesji.Jest pustych.

client_version

int

Wersja protokół TDS interfejs, który jest używany przez klient do łączenia się z serwerem.Wartość jest NULL dla wewnętrznego sesji.Jest pustych.

WartośćWersja TDSSQL Server Wersja
04.2SQL Server 6. x
16.0SQL Server 6. x
27.0SQL Server 7.0
37.1SQL Server 2000
47.1 Zmiana 1SQL Server 2000 z dodatkiem usługa Pack 1
57.2SQL Server 2005
67.3SQL Server 2008

client_interface_name

nvarchar(32)

Nazwa protokół używanego przez klient do łączenia się z serwerem.Wartość jest NULL dla wewnętrznego sesji.Jest pustych.

security_id

varbinary(85)

Identyfikator zabezpieczeń systemu Microsoft Windows skojarzony z logowania się.Nie jest pustych.

login_name

nvarchar(128)

SQL Server Nazwa logowania, zgodnie z którymi aktualnie wykonywanych w sesja.Oryginalna nazwa logowania, utworzone w sesja można uzyskać od original_login_name.Może być SQL Server Nazwa użytkownika uwierzytelnionego lub nazwa użytkownika uwierzytelnionego domena systemu Windows. Nie jest pustych.

nt_domain

nvarchar(128)

Domena systemu Windows dla klient, jeśli w sesja korzysta z uwierzytelnianie systemu Windows lub z zaufane połączenie.Ta wartość jest NULL dla wewnętrznego sesji i użytkowników bez domena.Jest pustych.

nt_user_name

nvarchar(128)

Nazwa użytkownika systemu Windows dla klient, jeśli w sesja korzysta z uwierzytelnianie systemu Windows lub z zaufane połączenie.Ta wartość jest NULL dla wewnętrznego sesji i użytkowników bez domena.Jest pustych.

Stan

nvarchar(30)

Stan sesja.Możliwe wartości:

  • Uruchamianie - Uruchomiony jeden lub więcej żądań

  • Stan uśpienia - Aktualnie uruchomione nie żądania

  • Stanie uśpienia — sesja został zresetowany z powodu buforowania połączeń i jest teraz w stanie prelogin.

  • Preconnect - Sesja jest w klasyfikatorze zasób Governor.

Nie jest pustych.

context_info

varbinary(128)

Wartość CONTEXT_INFO dla sesja.Informacje kontekstowe są ustawiane przez użytkownika za pomocą ZESTAW CONTEXT_INFO instrukcja.Jest pustych.

cpu_time

int

Czas CPU, w milisekundach, który został użyty przez tę sesja.Nie jest pustych.

memory_usage

int

Liczba stron 8 KB pamięci używanej przez tę sesja.Nie jest pustych.

total_scheduled_time

int

Całkowity czas w milisekundach, dla których sesja (liczba żądań w ramach) zostały zaplanowane do wykonania.Nie jest pustych.

total_elapsed_time

int

Czas w milisekundach, od momentu ustanowienia sesja.Nie jest pustych.

endpoint_id

int

Identyfikator punktu końcowego związane z sesja.Nie jest pustych.

last_request_start_time

datetime

Czas, w którym rozpoczęto ostatniego żądania w sesja.Obejmuje to aktualnie wykonywanego żądania.Nie jest pustych.

last_request_end_time

datetime

czas Po zakończeniu ostatniego żądania w sesja.Jest pustych.

Odczyty

bigint

Liczba odczytów wykonywanych przez żądania w tej sesja, podczas tej sesja.Nie jest pustych.

zapisuje

bigint

Liczba zapisów wykonywane przez żądania w tej sesja, podczas tej sesja.Nie jest pustych.

logical_reads

bigint

Liczba odczytów logicznych, które zostały wykonane w sesja.Nie jest pustych.

is_user_process

bit

0, jeśli sesja jest sesją systemu.W przeciwnym razie jest 1.Nie jest pustych.

text_size

int

Ustawienie TEXTSIZE dla sesja.Nie jest pustych.

język

nvarchar(128)

Ustawienie LANGUAGE w sesja.Jest pustych.

date_format

nvarchar(3)

Ustawienie DATEFORMAT dla sesja.Jest pustych.

date_first

smallint

Ustawienie DATEFIRST dla sesja.Nie jest pustych.

QUOTED_IDENTIFIER

bit

Ustawienie QUOTED_IDENTIFIER dla sesja.Nie jest pustych.

arithabort

bit

Ustawienie ARITHABORT dla sesja.Nie jest pustych.

ansi_null_dflt_on

bit

Ustawienie ANSI_NULL_DFLT_ON dla sesja.Nie jest pustych.

ansi_defaults

bit

Ustawienie ANSI_DEFAULTS dla sesja.Nie jest pustych.

ANSI_WARNINGS

bit

Ustawienie ANSI_WARNINGS dla sesja.Nie jest pustych.

ANSI_PADDING

bit

Ustawienie ANSI_PADDING dla sesja.Nie jest pustych.

ANSI_NULLS

bit

Ustawienia ANSI_NULLS dla sesja.Nie jest pustych.

CONCAT_NULL_YIELDS_NULL

bit

Ustawienie CONCAT_NULL_YIELDS_NULL dla sesja.Nie jest pustych.

transaction_isolation_level

smallint

Poziom izolacji transakcji sesja.

0 = Nieokreślony

1 = ReadUncomitted

2 = ReadCommitted

3 = Repeatable

4 = Serializable

5 = migawka

Nie jest pustych.

lock_timeout

int

Ustawienie LOCK_TIMEOUT dla sesja.Wartość (w milisekundach).Nie jest pustych.

deadlock_priority

int

Ustawienie DEADLOCK_PRIORITY dla sesja.Nie jest pustych.

row_count

bigint

Liczba wierszy zwracanych w sesja do tego momentu.Nie jest pustych.

prev_error

int

IDENTYFIKATOR ostatniego błędu jest zwracany w sesja.Nie jest pustych.

original_security_id

varbinary(85)

Microsoft Identyfikator zabezpieczeń systemu Windows jest skojarzony z original_login_name.Nie jest pustych.

original_login_name

nvarchar(128)

SQL Server Nazwa użytkownika, który klient użyty do utworzenia tej sesja.Może być SQL Server Nazwa użytkownika uwierzytelnionego lub nazwa użytkownika uwierzytelnionego domena systemu Windows. 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 wykonać JAKO jest używany.Nie jest pustych.

last_successful_logon

datetime

czas z ostatniego pomyślnego logowania dla original_login_name przed rozpoczęciem bieżącej sesji.

last_unsuccessful_logon

datetime

Godzina ostatniej próby logowania nie powiodło się original_login_name przed rozpoczęciem bieżącej sesja.

unsuccessful_logons

bigint

Liczbę logowania nieudanych prób dla original_login_name między last_successful_logon i login_time.

group_id

int

Identyfikator grupy obciążenia, do której należy ta sesja.Nie jest pustych.

Uprawnienia

Wymaga uprawnienia VIEW SERVER STATE na serwerze.

Uwaga

Jeśli użytkownik ma uprawnienia VIEW SERVER STATE na serwerze, użytkownik będzie widział wszystkie wykonującego sesja w wystąpieniu SQL Server; w przeciwnym razie użytkownik będzie widział tylko w bieżącej sesja.

Remarks

Statystyka logowania dla zgodności z kryteriami wspólnymi

Po włączeniu wspólnych kryteriów zgodności opcja jest włączona przy użyciu sp_configure procedura przechowywana, statystyki 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 kolumny sys.dm_exec_sessions zwróci wartości null.Aby uzyskać więcej informacji o ustawianiu opcji konfiguracja tego serwera zobacz common criteria compliance enabled Option.

Cardinalities relacji

Z

Aby

Na / Zastosuj

Relacja

sys.dm_exec_sessions

sys.dm_exec_requests

session_id

Jeden do zera lub jeden do wielu

sys.dm_exec_sessions

sys.dm_exec_connections

session_id

Jeden do zera lub jeden do wielu

sys.dm_exec_sessions

sys.dm_tran_session_transactions

session_id

Jeden do zera lub jeden do wielu

sys.dm_exec_sessions

sys.dm_exec_cursors(session_id | 0)

session_id pytania mają zastosowania

ZEWNĘTRZNE ZASTOSOWANIA

Jeden do zera 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, którzy nawiązali połączenie z serwerem

W poniższym przykładzie znajduje użytkowników, które są połączone z serwerem i zwraca liczbę sesji dla poszczególnych użytkowników.

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 więcej niż określony okres czas, który utworzył kursory, a jakie sesja kursory znajdują się.

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 bezczynności sesji, które mają otwarte transakcje

W poniższym przykładzie znalezienie sesji, które mają otwarte transakcje i są w stanie bezczynności.Bezczynna sesja jest taki, który zawiera żądanie, nie uruchomiony.

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

Historia zmian

Microsoft Learning

Wartości dodanej do client_version opis kolumna.