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:
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. |