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ı
Bu görünümü Azure Synapse Analytics (yalnızca özel SQL havuzu) veya Analytics Platform System (PDW) olarak adlandırmak için bkz. sys.dm_pdw_nodes_exec_sessions. Azure Synapse Analytics (serverless SQL pool only) veya Microsoft Fabric için kullanın sys.dm_exec_sessions .
| Sütun adı | Veri türü | Null olabilir | Description |
|---|---|---|---|
session_id |
smallint | Hayı | Her etkin birincil bağlantıyla ilişkili oturumu tanımlar. |
login_time |
datetime | Hayı | Oturumun oluşturulduğu zaman. Bu DMV sorgulandığında tamamen giriş yapmamış oturumlar, giriş süresi ile 1900-01-01gösterilir. |
host_name |
nvarchar(128) | Yes | Oturuma özel istemci iş istasyonunun adı. Değeri iç NULL oturumlar içindir.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) | Yes | Oturumu başlatan istemci programının adı. Değeri iç NULL oturumlar içindir. |
host_process_id |
int | Yes | Oturumu başlatan istemci programın işlem kimliği. Değeri iç NULL oturumlar içindir. |
client_version |
int | Yes | İstemcinin sunucuya bağlanmak için kullandığı arayüzün TDS protokol versiyonu. Değeri iç NULL oturumlar içindir. |
client_interface_name |
nvarchar(32) | Yes | İ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. |
security_id |
varbinary(85) | Hayı | Giriş ile ilişkili Windows güvenlik kimliği. |
login_name |
nvarchar(128) | Hayı | 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. |
nt_domain |
nvarchar(128) | Yes | 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. |
nt_user_name |
nvarchar(128) | Yes | 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. |
status |
nvarchar(30) | Hayı | 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. |
context_info |
varbinary(128) | Yes |
CONTEXT_INFO değerini seçin. Bağlam bilgisi, kullanıcı tarafından SET CONTEXT_INFO ifadesi kullanılarak ayarlanır. |
cpu_time |
int | Hayı | Bu oturumda kullanılan CPU süresi, milisaniye cinsinden. |
memory_usage |
int | Hayı | Bu oturumda kullanılan 8 KB sayfa bellek sayısı. |
total_scheduled_time |
int | Hayı | Oturumun (içindeki isteklerin) yürütülmesi için planlandığı toplam süre, milisaniyeler cinsinden. |
total_elapsed_time |
int | Hayı | Oturumun kurulmasından bu yana milisaniyeler cinsinden olan zaman. |
endpoint_id |
int | Hayı | Oturumla ilişkili uç noktanın kimliği. |
last_request_start_time |
datetime | Hayı | Oturumun son talebinin başladığı zaman. Bu süre, şu anda yürütülen isteği de kapsar. |
last_request_end_time |
datetime | Yes | Oturumdaki bir isteğin son tamamlanma zamanı. |
reads |
bigint | Hayı | Bu oturumda yapılan fiziksel okuma sayısı, bu oturumda taleplere göre. |
writes
1 |
bigint | Hayı | Bu oturumda yapılan istekler boyunca, bu oturum boyunca yapılan fiziksel yazma sayısı. |
logical_reads |
bigint | Hayı | Bu oturumda isteklerle yapılan mantıksal okuma sayısı. |
is_user_process |
bit | Hayı |
0 oturum bir sistem oturumuysa. Aksi takdirde, 1olur. |
text_size |
int | Hayı |
TEXTSIZE ayarını seçin. |
language |
nvarchar(128) | Yes |
LANGUAGE ayarını seçin. |
date_format |
nvarchar(3) | Yes |
DATEFORMAT ayarını seçin. |
date_first |
smallint | Hayı |
DATEFIRST ayarını seçin. |
quoted_identifier |
bit | Hayı |
QUOTED_IDENTIFIER ayarını seçin. |
arithabort |
bit | Hayı |
ARITHABORT ayarını seçin. |
ansi_null_dflt_on |
bit | Hayı |
ANSI_NULL_DFLT_ON ayarını seçin. |
ansi_defaults |
bit | Hayı |
ANSI_DEFAULTS ayarını seçin. |
ansi_warnings |
bit | Hayı |
ANSI_WARNINGS ayarını seçin. |
ansi_padding |
bit | Hayı |
ANSI_PADDING ayarını seçin. |
ansi_nulls |
bit | Hayı |
ANSI_NULLS ayarını seçin. |
concat_null_yields_null |
bit | Hayı |
CONCAT_NULL_YIELDS_NULL ayarını seçin. |
transaction_isolation_level |
smallint | Hayı | Oturumun işlem yalıtım düzeyi.0 = Unspecified1 = ReadUncommitted2 = ReadCommitted3 = RepeatableRead4 = Serializable5 = Snapshot |
lock_timeout |
int | Hayı |
LOCK_TIMEOUT ayarını seçin. Değer milisaniye cinsindendir. |
deadlock_priority |
int | Hayı |
DEADLOCK_PRIORITY ayarını seçin. |
row_count |
bigint | Hayı | Bu noktaya kadar seansta geri dönen sıra sayısı. |
prev_error |
int | Hayı | Oturumda döndürülen son hatanın kimliği. |
original_security_id |
varbinary(85) | Hayı | Windows güvenlik kimliği ile original_login_nameilişkilendirilen . |
original_login_name |
nvarchar(128) | Hayı | İ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. Oturum, örneğin EXECUTE AS kullanılıyorsa, ilk bağlantıdan sonra birçok örtük veya açık bağlam anahtarından geçmiş olabilir. |
last_successful_logon |
datetime | Yes | Mevcut oturum başlamadan önceki son başarılı giriş original_login_name zamanı. |
last_unsuccessful_logon |
datetime | Yes | Mevcut oturum başlamadan önceki son başarısız giriş girişi original_login_name zamanı. |
unsuccessful_logons |
bigint | Yes | Arasındaki original_login_name ve last_successful_logonarasındaki başarısız giriş girişi sayısılogin_time. |
group_id |
int | Hayı | Bu oturumun ait olduğu iş yükü grubunun kimliği. |
database_id |
smallint | Hayı | 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 | Yes | 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 | Hayı | 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 | Hayı | 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 | Hayı | Bu oturum sırasında isteklerle gerçekleştirilen sayfa sunucusu okuma sayısı. Şunlar için geçerlidir: Azure SQL Veritabanı Hiper Ölçek. |
contained_availability_group_id |
uniqueidentifier | Yes | İçinde tutulan erişilebilirlik grubunun kimliği. SQL Server 2025 (17.x) ve sonraki sürümler için geçerlidir. |
1 Bir sayfanın tampon havuzunda kirli olarak işaretlendiği zamanı belirtir. Bu değer doğrudan gerçek yazımlarla eşdeğer değildir, çünkü aynı sayfa birden fazla kez işaretlenebilir. Bu sayaçlar partinin sonunda toplanır.
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 Ortak kriterlere uyum yapılandırmasını etkinleştir bkz.
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;
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;