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. This information includes client version, client program name, client login time, login user, current session setting, and more. Use sys.dm_exec_sessions to first view the current system load and to identify a session of interest, and then learn more information about that session by using other dynamic management views or dynamic management functions.
|
Column name
|
Data type
|
Description
|
|---|
|
session_id
|
smallint
|
Identifies the session associated with each active primary connection. Is not nullable.
|
|
login_time
|
datetime
|
Time when session was established. Is not nullable.
|
|
host_name
|
nvarchar(128)
|
Name of the client workstation that is specific to a session. The value is NULL for internal sessions. Is nullable.
|
|
program_name
|
nvarchar(128)
|
Name of client program that initiated the session. The value is NULL for internal sessions. Is nullable.
|
|
host_process_id
|
int
|
Process ID of the client program that initiated the session. The value is NULL for internal sessions. Is nullable.
|
|
client_version
|
int
|
TDS protocol version of the interface that is used by the client to connect to the server. The value is NULL for internal sessions. Is nullable.
|
|
client_interface_name
|
nvarchar(32)
|
Protocol name that is used by the client to connect to the server. The value is NULL for internal sessions. Is nullable.
|
|
security_id
|
varbinary(85)
|
Microsoft Windows security ID associated with the login. Is not nullable.
|
|
login_name
|
nvarchar(128)
|
SQL Server login name under which the session is currently executing. For the original login name that created the session, see original_login_name. Can be a SQL Server authenticated login name or a Windows authenticated domain user name. Is not nullable.
|
|
nt_domain
|
nvarchar(128)
|
Windows domain for the client if the session is using Windows Authentication or a trusted connection. This value is NULL for internal sessions and non-domain users. Is nullable.
|
|
nt_user_name
|
nvarchar(128)
|
Windows user name for the client if the session is using Windows Authentication or a trusted connection. This value is NULL for internal sessions and non-domain users. Is nullable.
|
|
status
|
nvarchar(30)
|
Status of the session. Possible values:
-
Running - Currently running one or more requests
-
Sleeping - Currently running no requests
-
Dormant – Session has been reset because of connection pooling and is now in prelogin state.
-
Preconnect - Session is in the Resource Governor classifier.
Is not nullable.
|
|
context_info
|
varbinary(128)
|
CONTEXT_INFO value for the session. The context information is set by the user by using the SET CONTEXT_INFO statement. Is nullable.
|
|
cpu_time
|
int
|
CPU time, in milliseconds, that was used by this session. Is not nullable.
|
|
memory_usage
|
int
|
Number of 8-KB pages of memory used by this session. Is not nullable.
|
|
total_scheduled_time
|
int
|
Total time, in milliseconds, for which the session (requests within) were scheduled for execution. Is not nullable.
|
|
total_elapsed_time
|
int
|
Time, in milliseconds, since the session was established. Is not nullable.
|
|
endpoint_id
|
int
|
ID of the Endpoint associated with the session. Is not nullable.
|
|
last_request_start_time
|
datetime
|
Time at which the last request on the session began. This includes the currently executing request. Is not nullable.
|
|
last_request_end_time
|
datetime
|
Time of the last completion of a request on the session. Is nullable.
|
|
reads
|
bigint
|
Number of reads performed, by requests in this session, during this session. Is not nullable.
|
|
writes
|
bigint
|
Number of writes performed, by requests in this session, during this session. Is not nullable.
|
|
logical_reads
|
bigint
|
Number of logical reads that have been performed on the session. Is not nullable.
|
|
is_user_process
|
bit
|
0 if the session is a system session. Otherwise, it is 1. Is not nullable.
|
|
text_size
|
int
|
TEXTSIZE setting for the session. Is not nullable.
|
|
language
|
nvarchar(128)
|
LANGUAGE setting for the session. Is nullable.
|
|
date_format
|
nvarchar(3)
|
DATEFORMAT setting for the session. Is nullable.
|
|
date_first
|
smallint
|
DATEFIRST setting for the session. Is not nullable.
|
|
quoted_identifier
|
bit
|
QUOTED_IDENTIFIER setting for the session. Is not nullable.
|
|
arithabort
|
bit
|
ARITHABORT setting for the session. Is not nullable.
|
|
ansi_null_dflt_on
|
bit
|
ANSI_NULL_DFLT_ON setting for the session. Is not nullable.
|
|
ansi_defaults
|
bit
|
ANSI_DEFAULTS setting for the session. Is not nullable.
|
|
ansi_warnings
|
bit
|
ANSI_WARNINGS setting for the session. Is not nullable.
|
|
ansi_padding
|
bit
|
ANSI_PADDING setting for the session. Is not nullable.
|
|
ansi_nulls
|
bit
|
ANSI_NULLS setting for the session. Is not nullable.
|
|
concat_null_yields_null
|
bit
|
CONCAT_NULL_YIELDS_NULL setting for the session. Is not nullable.
|
|
transaction_isolation_level
|
smallint
|
Transaction isolation level of the session.
0 = Unspecified
1 = ReadUncomitted
2 = ReadCommitted
3 = Repeatable
4 = Serializable
5 = Snapshot
Is not nullable.
|
|
lock_timeout
|
int
|
LOCK_TIMEOUT setting for the session. The value is in milliseconds. Is not nullable.
|
|
deadlock_priority
|
int
|
DEADLOCK_PRIORITY setting for the session. Is not nullable.
|
|
row_count
|
bigint
|
Number of rows returned on the session up to this point. Is not nullable.
|
|
prev_error
|
int
|
ID of the last error returned on the session. Is not nullable.
|
|
original_security_id
|
varbinary(85)
|
Microsoft Windows security ID that is associated with the original_login_name. Is not nullable.
|
|
original_login_name
|
nvarchar(128)
|
SQL Server login name that the client used to create this session. Can be a SQL Server authenticated login name or a Windows authenticated domain user name. Note that the session could have gone through many implicit or explicit context switches after the initial connection. For example, if EXECUTE AS is used. Is not nullable.
|
|
last_successful_logon
|
datetime
|
Time of the last successful logon for the original_login_name before the current session started.
|
|
last_unsuccessful_logon
|
datetime
|
Time of the last unsuccessful logon attempt for the original_login_name before the current session started.
|
|
unsuccessful_logons
|
bigint
|
Number of unsuccessful logon attempts for the original_login_name between the last_successful_logon and login_time.
|
|
group_id
|
int
|
ID of the workload group to which this session belongs. Is not nullable.
|

Permissions
Requires VIEW SERVER STATE permission on server.
Note: |
|---|
|
If the user has VIEW SERVER STATE permission on the server, the user will see all executing sessions on the instance of SQL Server; otherwise, the user will see only the current session.
|

Relationship Cardinalities
|
From
|
To
|
On/Apply
|
Relationship
|
|---|
|
sys.dm_exec_sessions
|
sys.dm_exec_requests
|
session_id
|
One-to-zero or one-to-many
|
|
sys.dm_exec_sessions
|
sys.dm_exec_connections
|
session_id
|
One-to-zero or one-to-many
|
|
sys.dm_exec_sessions
|
sys.dm_tran_session_transactions
|
session_id
|
One-to-zero or one-to-many
|
|
sys.dm_exec_sessions
|
sys.dm_exec_cursors(session_id | 0)
|
session_id
CROSS APPLY
OUTER APPLY
|
One-to-zero or one-to-many
|
|
sys.dm_exec_sessions
|
sys.dm_db_session_space_usage
|
session_id
|
One-to-one
|