DMV'leri kullanarak bağlantıları, oturumları ve istekleri izleme
Şunlar için geçerlidir: Microsoft Fabric'te SQL 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.
Önemli
Microsoft Fabric şu anda ÖNİzLEME aşamasındadır. Bu bilgiler, yayımlanmadan önce önemli ölçüde değiştirilebilen bir ön sürüm ürünüyle ilgilidir. Microsoft, burada sağlanan bilgilerle ilgili olarak açık veya zımni hiçbir garanti vermez.
Sorgu yaşam döngüsü DMV'lerini kullanarak bağlantıları, oturumları ve istekleri izleme
Geçerli sürüm için, 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ğrulanan 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ı kimdir?
- 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 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
- Bir Yönetici, çalışma alanında kendi ve başkalarının bilgilerini görmek için üç DMV'yi de (
sys.dm_exec_connections
,sys.dm_exec_sessions
,sys.dm_exec_requests
) yürütme izinlerine sahiptir. - Ü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önetici komutu çalıştırma izni vardır
KILL
.