DMV'leri kullanarak bağlantıları, oturumları ve istekleri izleme
Şunlar için geçerlidir:✅ Microsoft Fabric'te SQL analiz uç noktası ve Ambarı
Microsoft Fabric'te bağlantı, oturum ve istek durumunu izlemek için mevcut dinamik yönetim görünümlerini (DMV) kullanabilirsiniz. T-SQL sorgularını yürütme araçları ve yöntemleri hakkında daha fazla bilgi için bkz . Ambarı Sorgulama.
Sorgu yaşam döngüsü DMV'lerini kullanarak bağlantıları, oturumları ve istekleri izleme
Geçerli sürümde, canlı SQL sorgu yaşam döngüsü içgörüleri almanız için sağlanan üç dinamik yönetim görünümü (DMV) vardır.
- sys.dm_exec_connections
- Ambar ve altyapı arasında kurulan her bağlantı hakkında bilgi döndürür.
- sys.dm_exec_sessions
- Öğe ve altyapı arasında kimliği doğrulanmış her oturum hakkındaki bilgileri döndürür.
- sys.dm_exec_requests
- Oturumdaki her etkin istekle ilgili bilgileri döndürür.
Bu üç DMV, aşağıdaki senaryolar hakkında ayrıntılı içgörü sağlar:
- Oturumu çalıştıran kullanıcı kim?
- Oturum kullanıcı tarafından ne zaman başlatıldı?
- Veri Ambarı bağlantısının kimliği ve isteği çalıştıran oturum nedir?
- Etkin olarak kaç sorgu çalıştırılıyor?
- Hangi sorgular uzun süre çalışır?
Bu öğreticide, dinamik yönetim görünümlerini (DMV) kullanarak çalışan SQL sorgularınızı izlemeyi öğrenin.
Örnek DMV sorguları
Aşağıdaki örnek, yürütülmekte olan tüm oturumları bulmak için sorgular sys.dm_exec_sessions
.
SELECT *
FROM sys.dm_exec_sessions;
Bağlantılar ve oturumlar arasındaki ilişkiyi bulma
Aşağıdaki örnek, ve ile belirli bir bağlantıdaki etkin oturum arasındaki ilişkiyi birleştirir sys.dm_exec_connections
sys.dm_exec_sessions
.
SELECT connections.connection_id,
connections.connect_time,
sessions.session_id, sessions.login_name, sessions.login_time, sessions.status
FROM sys.dm_exec_connections AS connections
INNER JOIN sys.dm_exec_sessions AS sessions
ON connections.session_id=sessions.session_id;
Uzun süre çalışan bir sorguyu tanımlama ve SONLANDıRMA
Bu ilk sorgu, uzun süre çalışan sorguların listesini, sorgu geldiğinden bu yana en uzun süren sorgu sırasına göre tanımlar.
SELECT request_id, session_id, start_time, total_elapsed_time
FROM sys.dm_exec_requests
WHERE status = 'running'
ORDER BY total_elapsed_time DESC;
Bu ikinci sorgu, uzun süre çalışan sorgunun bulunduğu oturumu hangi kullanıcının çalıştırdığını gösterir.
SELECT login_name
FROM sys.dm_exec_sessions
WHERE 'session_id' = 'SESSION_ID WITH LONG-RUNNING QUERY';
Bu üçüncü sorgu, session_id
üzerinde kill komutunun uzun süre çalışan sorguyla nasıl kullanılacağını gösterir.
KILL 'SESSION_ID WITH LONG-RUNNING QUERY'
Örneğin:
KILL '101'
İzinler
- Yöneticinin çalışma alanında kendi ve başkalarının bilgilerini görmek için üç DMV'yi (
sys.dm_exec_connections
,sys.dm_exec_sessions
,sys.dm_exec_requests
) yürütme izinleri vardır. - Üye, Katkıda Bulunan ve Görüntüleyici, ambarda kendi sonuçlarını yürütebilir
sys.dm_exec_sessions
vesys.dm_exec_requests
görebilir, ancak yürütmesys.dm_exec_connections
iznine sahip değildir. - Yalnızca bir Yöneticinin komutu çalıştırma
KILL
izni vardır.