Aracılığıyla paylaş


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.

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 ve sys.dm_exec_requests görebilir, ancak yürütme sys.dm_exec_connectionsiznine sahip değildir.
  • Yalnızca bir Yöneticinin komutu çalıştırma KILL izni vardır.