Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Azure Synapse Analytics
Analiz Platformu Sistemi (PDW)
Microsoft Fabric'teki SQL analiz uç noktası
Microsoft Fabric'teki ambar
Microsoft Fabric'teki SQL veritabanı
SQL Server'da kimlik doğrulaması için bir satır döndürür.
sys.dm_exec_sessions tüm aktif kullanıcı bağlantıları ve dahili görevler hakkında bilgi veren sunucu kapsamı görünümü. Bu bilgiler istemci sürümü, istemci program adı, istemci giriş zamanı, giriş kullanıcısı, güncel oturum ayarları ve daha fazlasını içerir.
sys.dm_exec_sessions Önce mevcut sistem yükünü görmek ve ilgi çekici bir oturumu belirlemek için, ardından diğer dinamik yönetim görünümleri veya dinamik yönetim fonksiyonları kullanarak o oturum hakkında daha fazla bilgi edinmek için kullanılır.
sys.dm_exec_connections, sys.dm_exec_sessions, ve sys.dm_exec_requests dinamik yönetim görünümleri, artık kullanılmayan sys.sysprocesses sistem uyumluluk görünümüne eşlenir.
Uyarı
Bunu Azure Synapse Analytics veya Analytics Platform System (PDW)'deki özel SQL havuzundan adlandırmak için bkz. sys.dm_pdw_nodes_exec_sessions. Serverless SQL pool veya Microsoft Fabric için .sys.dm_exec_sessions
| Sütun adı | Veri türü | Açıklama ve sürüme özgü bilgiler |
|---|---|---|
session_id |
smallint | Her etkin birincil bağlantıyla ilişkili oturumu tanımlar. Null değeri atanamaz. |
login_time |
datetime | Oturumun oluşturulduğu zaman. Null değeri atanamaz. Bu DMV sorgulandığında tamamen giriş yapmamış oturumlar, giriş süresi ile 1900-01-01gösterilir. |
host_name |
nvarchar(128) | Bir oturuma özel istemci iş istasyonunun adı. Değeri iç NULL oturumlar içindir. Nullable.Güvenlik notu: İstemci uygulaması iş istasyonu adını sağlar ve yanlış veri sağlayabilir. Güvenlik özelliğine HOST_NAME güvenmeyin. |
program_name |
nvarchar(128) | Oturumu başlatan istemci programının adı. Değeri iç NULL oturumlar içindir. Nullable. |
host_process_id |
int | Oturumu başlatan istemci programın işlem kimliği. Değeri iç NULL oturumlar içindir. Nullable. |
client_version |
int | İstemcinin sunucuya bağlanmak için kullandığı arayüzün TDS protokol versiyonu. Değeri iç NULL oturumlar içindir. Nullable. |
client_interface_name |
nvarchar(32) | İstemci tarafından sunucuyla iletişim kurmak için kullanılan kitaplığın/sürücünün adı. Değeri iç NULL oturumlar içindir. Nullable. |
security_id |
varbinary(85) | Giriş ile ilişkili Windows güvenlik kimliği. Null değeri atanamaz. |
login_name |
nvarchar(128) | Oturumun yürütülmekte olduğu SQL Server oturum açma adı. Oturumu oluşturan orijinal giriş adı için bkz.original_login_name SQL Server doğrulanmış giriş adı veya Windows doğrulamalı alan alan adı olabilir. Null değeri atanamaz. |
nt_domain |
nvarchar(128) | Oturum Windows Kimlik Doğrulama veya güvenilir bir bağlantı kullanıyorsa istemci için Windows alan adı. Bu değer NULL dahili oturumlar ve alan dışı kullanıcılar içindir. Nullable. |
nt_user_name |
nvarchar(128) | Oturum Windows Kimlik Doğrulama veya güvenilir bir bağlantı kullanıyorsa istemci için Windows kullanıcı adı. Bu değer NULL dahili oturumlar ve alan dışı kullanıcılar içindir. Nullable. |
status |
nvarchar(30) | Oturumun durumu. Olası değerler:Running - Şu anda bir veya daha fazla istek çalıştırıyorSleeping - Şu anda herhangi bir istek çalıştırılmıyorDormant - Oturum, bağlantı havuzu nedeniyle sıfırlandı ve şu anda giriş öncesi durumda.Preconnect - Oturum, Kaynak Valisi sınıflandırıcısındadır.Null değeri atanamaz. |
context_info |
varbinary(128) |
CONTEXT_INFO değerini seçin. Bağlam bilgisi, kullanıcı tarafından SET CONTEXT_INFO ifadesi kullanılarak ayarlanır. Nullable. |
cpu_time |
int | Bu oturumda kullanılan CPU süresi, milisaniye cinsinden. Null değeri atanamaz. |
memory_usage |
int | Bu oturumda kullanılan 8 KB sayfa bellek sayısı. Null değeri atanamaz. |
total_scheduled_time |
int | Oturumun (içindeki isteklerin) yürütülmesi için planlandığı toplam süre, milisaniyeler cinsinden. Null değeri atanamaz. |
total_elapsed_time |
int | Oturumun kurulmasından bu yana milisaniyeler cinsinden olan zaman. Null değeri atanamaz. |
endpoint_id |
int | Oturumla ilişkili uç noktanın kimliği. Null değeri atanamaz. |
last_request_start_time |
datetime | Oturumun son talebinin başladığı zaman. Bu süre, şu anda yürütülen isteği de kapsar. Null değeri atanamaz. |
last_request_end_time |
datetime | Oturumdaki bir isteğin son tamamlanma zamanı. Nullable. |
reads |
bigint | Bu oturumda yapılan istekler sayısı, bu oturum boyunca. Null değeri atanamaz. |
writes |
bigint | Bu oturumda yapılan yazılma sayısı, bu oturumda istek boyunca. Null değeri atanamaz. |
logical_reads |
bigint | Bu oturumda isteklerle yapılan mantıksal okuma sayısı. Null değeri atanamaz. |
is_user_process |
bit |
0 oturum bir sistem oturumuysa. Aksi takdirde, 1olur. Null değeri atanamaz. |
text_size |
int |
TEXTSIZE ayarını seçin. Null değeri atanamaz. |
language |
nvarchar(128) |
LANGUAGE ayarını seçin. Nullable. |
date_format |
nvarchar(3) |
DATEFORMAT ayarını seçin. Nullable. |
date_first |
smallint |
DATEFIRST ayarını seçin. Null değeri atanamaz. |
quoted_identifier |
bit |
QUOTED_IDENTIFIER ayarını seçin. Null değeri atanamaz. |
arithabort |
bit |
ARITHABORT ayarını seçin. Null değeri atanamaz. |
ansi_null_dflt_on |
bit |
ANSI_NULL_DFLT_ON ayarını seçin. Null değeri atanamaz. |
ansi_defaults |
bit |
ANSI_DEFAULTS ayarını seçin. Null değeri atanamaz. |
ansi_warnings |
bit |
ANSI_WARNINGS ayarını seçin. Null değeri atanamaz. |
ansi_padding |
bit |
ANSI_PADDING ayarını seçin. Null değeri atanamaz. |
ansi_nulls |
bit |
ANSI_NULLS ayarını seçin. Null değeri atanamaz. |
concat_null_yields_null |
bit |
CONCAT_NULL_YIELDS_NULL ayarını seçin. Null değeri atanamaz. |
transaction_isolation_level |
smallint | Oturumun işlem yalıtım düzeyi.0 = Unspecified1 = ReadUncommitted2 = ReadCommitted3 = RepeatableRead4 = Serializable5 = SnapshotNull değeri atanamaz. |
lock_timeout |
int |
LOCK_TIMEOUT ayarını seçin. Değer milisaniye cinsindendir. Null değeri atanamaz. |
deadlock_priority |
int |
DEADLOCK_PRIORITY ayarını seçin. Null değeri atanamaz. |
row_count |
bigint | Bu noktaya kadar seansta geri dönen sıra sayısı. Null değeri atanamaz. |
prev_error |
int | Oturumda döndürülen son hatanın kimliği. Null değeri atanamaz. |
original_security_id |
varbinary(85) | Windows güvenlik kimliği ile original_login_nameilişkilendirilen . Null değeri atanamaz. |
original_login_name |
nvarchar(128) | İstemcinin bu oturumu oluşturmak için kullandığı SQL Server giriş adı. SQL Server doğrulanmış giriş adı, Windows doğrulamalı alan alanı kullanıcı adı veya kaplı bir veritabanı kullanıcısı olabilir. Örneğin, EXECUTE AS kullanılıyorsa, oturum ilk bağlantıdan sonra birçok örtük veya açık bağlam değişiminden geçebilir. Null değeri atanamaz. |
last_successful_logon |
datetime | Mevcut oturum başlamadan önceki son başarılı giriş original_login_name zamanı. |
last_unsuccessful_logon |
datetime | Mevcut oturum başlamadan önceki son başarısız giriş girişi original_login_name zamanı. |
unsuccessful_logons |
bigint | Arasındaki last_successful_logon ve login_timearasındaki başarısız giriş girişi sayısıoriginal_login_name. |
group_id |
int | Bu oturumun ait olduğu iş yükü grubunun kimliği. Null değeri atanamaz. |
database_id |
smallint | Her oturum için geçerli veritabanının kimliği. Azure SQL Veritabanı'nda değerler tek bir veritabanı veya elastik havuz içinde benzersizdir, ancak mantıksal sunucu içinde değildir. için geçerlidir: SQL Server 2012 (11.x) ve sonraki sürümler. |
authenticating_database_id |
int | Sorumlunun kimliğini doğrulayarak veritabanının kimliği. Oturum açma işlemleri için değeri şeklindedir 0. Kapsanan veritabanı kullanıcıları için değer, kapsanan veritabanının veritabanı kimliğidir.için geçerlidir: SQL Server 2012 (11.x) ve sonraki sürümler. |
open_transaction_count |
int | Oturum başına açık işlem sayısı. için geçerlidir: SQL Server 2012 (11.x) ve sonraki sürümler. |
pdw_node_id |
int | Bu dağıtımın üzerinde olduğu düğümün tanımlayıcısı. Uygulanır: Azure Synapse Analytics ve Analytics Platform System (PDW). |
page_server_reads |
bigint | Bu oturum sırasında isteklerle gerçekleştirilen sayfa sunucusu okuma sayısı. Null değeri atanamaz. Şunlar için geçerlidir: Azure SQL Veritabanı Hiper Ölçek. |
Permissions
Herkes kendi oturum bilgilerini görebilir.
SQL Server 2019 (15.x) ve önceki sürümlerde, sunucudaki tüm oturumları görmek gerekir VIEW SERVER STATE . SQL Server 2022 (16.x) ve sonraki sürümlerinde sunucuda izin gerekir VIEW SERVER PERFORMANCE STATE .
SQL Veritabanında, mevcut veritabanına tüm bağlantıların görülmesini gerektirir VIEW DATABASE STATE .
VIEW DATABASE STATE veritabanında master verilemez.
Açıklamalar
common criteria compliance enabled Sunucu yapılandırma seçeneği etkinleştirildiğinde, giriş istatistikleri aşağıdaki sütunlarda görüntülenir.
last_successful_logonlast_unsuccessful_logonunsuccessful_logons
Bu seçenek etkin değilse, bu sütunlar null değerler döndürür. Bu sunucu yapılandırma seçeneğinin nasıl ayarlanacağı hakkında daha fazla bilgi için bkz. Server configuration: common criteria compliance enabled.
Azure SQL Database'deki admin bağlantıları her kimlik doğrulamalı oturum için bir satır görür.
sa Sonuçlar setinde görünen oturumlar, kullanıcı oturum kotası üzerinde hiçbir etkisi yoktur. Yönetici olmayan bağlantılar yalnızca veritabanı kullanıcı oturumlarıyla ilgili bilgileri görür.
Kayıt şekillerindeki open_transaction_count farklılıklar nedeniyle uyuşmayabilir sys.dm_tran_session_transactions.open_transaction_count.
İlişki kardinaliteleri
| Kaynak | İçin | Açık/Başvuru | İ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) |
session_id CROSS APPLYOUTER APPLY |
Bir-sıfır veya bir-çok |
sys.dm_exec_sessions |
sys.dm_db_session_space_usage | session_id |
One-to-one |
Örnekler
A. Sunucuya bağlı kullanıcıları bulun
Aşağıdaki örnek, sunucuya bağlı olan kullanıcıları bulur ve her kullanıcı için oturum sayısını döndürür.
SELECT login_name,
COUNT(session_id) AS session_count
FROM sys.dm_exec_sessions
GROUP BY login_name;
B. Uzun süreli imleçleri bulun
Aşağıdaki örnek, belirli bir süreden fazla açık olan imleçleri, imleçleri kimin oluşturduğunu ve imleçlerin hangi oturumda olduğunu bulmaktadır.
USE master;
GO
SELECT creation_time,
cursor_id,
name,
c.session_id,
login_name
FROM sys.dm_exec_cursors(0) AS c
INNER JOIN sys.dm_exec_sessions AS s
ON c.session_id = s.session_id
WHERE DATEDIFF(mi, c.creation_time, GETDATE()) > 5;
GO
C. Açık işlemler olan boşta oturumları bulun
Aşağıdaki örnek, açık işlemlere sahip ve boşta olan oturumları bulur. Boşta oturum, şu anda hiç istek çalışmayan oturumdur.
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
);
D. Bir sorgunun kendi bağlantısı hakkında bilgi bulun
Aşağıdaki örnek, bir sorgunun kendi bağlantısı hakkında bilgi toplar:
SELECT c.session_id,
c.net_transport,
c.encrypt_option,
c.auth_scheme,
s.host_name,
s.program_name,
s.client_interface_name,
s.login_name,
s.nt_domain,
s.nt_user_name,
s.original_login_name,
c.connect_time,
s.login_time
FROM sys.dm_exec_connections AS c
INNER JOIN sys.dm_exec_sessions AS s
ON c.session_id = s.session_id
WHERE c.session_id = @@SPID;