Aracılığıyla paylaş


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.Bu bilgiler, istemci sürüm, istemci program adı, istemci oturum açma saat, oturum açma kullanıcı, geçerli oturum ayarı vb. içerir.Bu oturum hakkında daha fazla bilgi diğer dinamik yönetimi görünümleri veya dinamik yönetim işlevlerini kullanarak bilgi edinin ve sys.dm_exec_sessions önce geçerli sistem yükünü görüntülemek için ve bir oturum ilgi tanımlamak için kullanın.

Eşleme sys.dm_exec_connections sys.dm_exec_sessions ve sys.dm_exec_requests dinamik yönetimi görünümleri sys.sysprocesses sistem tablosu.

Sütun adı

Veri türü

Açıklama

session_id

smallint

Her etkin birincil bağlantıyla ilişkili oturum tanımlar.Null değil.

login_time

datetime

saat saat oturum kuruldu.Null değil.

host_name

nvarchar(128)

Özel istemci iş istasyonunun adını bir oturum.NULL iç oturumlarının değerdir.Null.

program_adı

nvarchar(128)

oturum başlatan bir istemci programın adı.NULL iç oturumlarının değerdir.Null.

host_process_id

int

Işlem KIMLIĞI istemci programının oturum başlattı.NULL iç oturumlarının değerdir.Null.

client_version

int

Arabirim tarafından kullanılan protokol sürüm TDS istemci sunucuya bağlanmak için.NULL iç oturumlarının değerdir.Null.

DeğerTDS sürümSQL Server Sürüm
04.2SQL Server 6. x
16.0SQL Server 6. x
27.0SQL Server 7.0
37.1SQL Server 2000
47.1 Düzeltme 1SQL Server 2000 hizmet Pack 1
57.2SQL Server 2005
67.3SQL Server 2008

client_interface_name

nvarchar(32)

Istemcinin sunucuya bağlanmak için kullanılan iletişim kuralının adı.NULL iç oturumlarının değerdir.Null.

security_id

varbinary(85)

Microsoft Windows oturum açma ile ilişkili güvenlik KIMLIĞI.Null değil.

login_name

nvarchar(128)

SQL Server hangi koşullarda oturum yürütülmekte oturum açma adı.Oturum için oluşturulan özgün oturum açma adı, original_login_name bakın.Olabilir bir SQL Server kimliği doğrulanmış bir oturum açma adı veya bir Windows kimliği doğrulanmış etki alanı kullanıcı adı. Null değil.

nt_domain

nvarchar(128)

Oturum Windows kimlik doğrulaması veya güvenilir bağlantı kullanıyorsanız bu istemci için Windows etki alanı.Iç oturumu ve etki alanı olmayan kullanıcılar için bu değer NULL olur.Null.

nt_user_name

nvarchar(128)

Windows oturum, Windows kimlik doğrulaması veya güvenilir bağlantı kullanıyorsa, istemci kullanıcı adı.Iç oturumu ve etki alanı olmayan kullanıcılar için bu değer NULL olur.Null.

Durum

nvarchar(30)

Oturum durumu.Olası değerler:

  • Çalışan Bir veya daha fazla çalışmakta - istekleri

  • Uyku Çalışmakta olan hiçbir istekleri -

  • Dormant – Oturum, bağlantı havuzu nedeniyle sıfırlandı ve şimdi prelogin durumundadır.

  • Preconnect - Kaynak Governor Sınıflandırıcısı içinde oturum.

Null değil.

context_info

varbinary(128)

CONTEXT_INFO değeri oturum.Bağlam bilgileri kullanarak kullanıcı tarafından ayarlanan küme context_info ekstresi.Null.

cpu_time

int

Bu oturum tarafından kullanılan CPU saat, milisaniye cinsinden.Null değil.

memory_usage

int

Bu oturum tarafından kullanılan bellek 8 KB sayfa sayısı.Null değil.

total_scheduled_time

int

Toplam saat (milisaniye cinsinden, oturum (istekleri içinde) Zamanlanmış çalıştırma için).Null değil.

total_elapsed_time

int

Oturum kurulduğundan bu yana milisaniye cinsinden saat.Null değil.

endpoint_id

int

Oturum ile ilişkili son nokta KIMLIĞI.Null değil.

last_request_start_time

datetime

En son istek üzerinde oturum başladığı saat.Bu, şu anda yürütülen istek içerir.Null değil.

last_request_end_time

datetime

Bir istek üzerinde son olan tamamlanma saat oturum.Null.

Okuma

bigint

Okuma sayısı, bu oturum sırasında bu oturumda istekleri gerçekleştirilerek.Null değil.

yazma

bigint

Yazma sayısı, bu oturum sırasında bu oturumda istekleri gerçekleştirilerek.Null değil.

logical_reads

bigint

Üzerinde gerçekleştirilen mantıksal okuma sayısı oturum.Null değil.

is_user_process

bit

oturum, bir sistem oturumu ise 0.Aksi durumda, 1'dir.Null değil.

text_size

int

Oturum TEXTSIZE ayarı.Null değil.

Dil

nvarchar(128)

Oturum LANGUAGE ayarı.Null.

date_format

nvarchar(3)

Oturum DATEFORMAT ayarı.Null.

date_first

smallint

Oturum DATEFIRST ayarı.Null değil.

quoted_ıdentıfıer

bit

Oturum QUOTED_IDENTIFIER ayarı.Null değil.

arıthabort

bit

Oturum ARITHABORT ayarı.Null değil.

ansı_null_dflt_off

bit

Oturum ANSI_NULL_DFLT_ON ayarı.Null değil.

ansi_defaults

bit

Oturum ANSI_DEFAULTS ayarı.Null değil.

ANSI_WARNINGS

bit

Oturum ANSI_WARNINGS ayarı.Null değil.

ansi_padding

bit

Oturum ANSI_PADDING ayarı.Null değil.

ANSI_NULLS

bit

Oturum ANSI_NULLS ayarı.Null değil.

CONCAT_NULL_YIELDS_NULL

bit

Oturum CONCAT_NULL_YIELDS_NULL ayarı.Null değil.

transaction_isolation_level

smallint

Hareket yalıtım düzey oturum.

0 Belirtilmemiş =

1 ReadUncomitted =

2 ReadCommitted =

3 Repeatable =

4 Serializable =

5 anlık görüntü görüntü =

Null değil.

lock_timeout

int

Oturum LOCK_TIMEOUT ayarı.Milisaniye cinsinden değeridir.Null değil.

deadlock_priority

int

Oturum DEADLOCK_PRIORITY ayarı.Null değil.

row_count

bigint

Üzerinde döndürülen satırların sayısını oturum bu noktaya kadar.Null değil.

prev_error

int

KODU, döndürülen son hatanın oturum.Null değil.

original_security_id

varbinary(85)

Microsoft Ile original_login_name ilişkili Windows Güvenlik KIMLIĞI.Null değil.

original_login_name

nvarchar(128)

SQL Server istemci bu oturumu oluşturmak için kullanılan oturum açma adı.Olabilir bir SQL Server kimliği doğrulanmış bir oturum açma adı veya bir Windows kimliği doğrulanmış etki alanı kullanıcı adı. oturum birçok örtülü veya açık bağlam anahtarlarının ilk bağlantıdan sonra gitti, unutmayın.Örneğin, yürütmek İLERLEDİKÇE kullanılır.Null değil.

last_successful_logon

datetime

Son başarılı oturum açma başlatıldı geçerli oturum saat için original_login_name.

last_unsuccessful_logon

datetime

Geçerli oturumu başlatmadan önce original_login_name son başarısız oturum açma girişiminin saat.

unsuccessful_logons

bigint

Başarısız oturum açma sayısı, last_successful_logon login_time arasındaki original_login_name için çalışır.

group_id

int

Bu iş grubu KIMLIĞI oturum ait.Null değil.

İzinler

Sunucuda VIEW SERVER DURUM iznine gerek duyar.

Not

Kullanıcının, sunucuda VIEW SERVER DURUM izni varsa, kullanıcı örnek üzerinde yürütülen olan tüm oturumları bakın SQL Server; Aksi halde, kullanıcı, yalnızca geçerli oturum görürsünüz.

Remarks

Ortak ölçütler uyumluluğu için oturum açma istatistikleri

Ortak ölçütler uyumluluğu etkinleştirildiğinde saklı yordam sp_configure kullanarak seçeneği etkinleştirildiğinde, oturum açma istatistiklerini saklanır ve sys.dm_exec_sessions aşağıdaki sütunlarda görüntülenir:

  • last_successful_logon

  • last_unsuccessful_logon

  • unsuccessful_logons

Bu sunucunun yapılandırma seçeneği etkinleştirilmişse, bu sys.dm_exec_sessions sütun null değeri döndürecektir.Bu sunucunun yapılandırma seçeneğini küme hakkında daha fazla bilgi için bkz: Ortak ölçütler uyumluluğu seçeneği etkinleştirildi..

Ilişki Cardinalities

Gelen

Amacı

Üzerinde / Uygula

İlişki

sys.dm_exec_sessions

sys.dm_exec_requests

session_id

Bir, sıfır veya bir çok

sys.dm_exec_sessions

sys.dm_exec_connections

session_id

Bir, sıfır veya bir çok

sys.dm_exec_sessions

sys.dm_tran_session_transactions

session_id

Bir, sıfır veya bir çok

sys.dm_exec_sessions

sys.dm_exec_cursors(session_id | 0)

Çapraz APPLY session_id

DIŞ UYGULA

Bir, sıfır veya bir çok

sys.dm_exec_sessions

sys.dm_db_session_space_usage

session_id

Tekliden tekliye

Örnekler

C.Sunucuya bağlı kullanıcıları bulma

Aşağıdaki örnek, sunucuya bağlanan kullanıcıları bulur ve her kullanıcı oturumlarının sayısını verir.

SELECT login_name ,COUNT(session_id) AS session_count 
FROM sys.dm_exec_sessions 
GROUP BY login_name;

b.Uzun süredir çalışan imleç bulma

Aşağıdaki örnek, imleçler bulunan birden çok belirli bir döneme imleçler oluşturan saat ve hangi oturum için açık olan bir imleç bulur.

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.Açık hareketlerin boşta kalan oturumlar bulma

Aşağıdaki örnek, oturumların olan açık hareketleri ve boş bulur.Boş oturumun yok bir istek çalışmakta olan paroladır.

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

Değişiklik Geçmişi

Güncelleştirilmiş içerik

Eklenen değerleri client_version sütunun açıklaması.