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'de bağlantı, oturum ve istek durumunu izlemek için mevcut dinamik yönetim görünümlerini (DMV) kullanın. T-SQL sorgularını yürütme araçları ve yöntemleri hakkında daha fazla bilgi için bkz. Ambar sorgulama.

Bu öğreticide, dinamik yönetim görünümlerini (DMV) kullanarak çalışan SQL sorgularınızı izlemeyi öğreneceksiniz.

Sorgu yaşam döngüsü DMV'lerini kullanarak bağlantıları, oturumları ve istekleri izleme

Üç DMV canlı SQL sorgu yaşam döngüsü içgörüleri sağlar:

Bu DMV'ler birlikte aşağıdaki gibi soruları yanıtlamanıza yardımcı olur:

  • Oturumu kim yürütüyor?
  • Oturum ne zaman başladı?
  • Warehouse’a olan bağlantının ve isteği çalıştıran oturumun kimliği nedir?
  • Etkin olarak kaç sorgu çalıştırılıyor?
  • Hangi sorgular uzun süre çalışır?

Prerequisites

  • Etkin Fabric kapasitesine sahip bir çalışma alanı.
  • Mevcut bir veri ambarı veya SQL analiz uç noktası.
  • SQL sorgu düzenleyicisi veya SQL Server Management Studio (SSMS) gibi bir T-SQL sorgu aracı.
  • DMV'leri sorgulama ve oturumları yönetme izinleri.

DMV'leri sorgulamak ve oturumları yönetmek için gerekli izinler

  • Çalışma alanı Yöneticisi üç DMV'yi de (sys.dm_exec_connections, sys.dm_exec_sessionsve sys.dm_exec_requests) yürütebilir ve çalışma alanı içindeki tüm kullanıcılar için oturum, bağlantı ve istek bilgilerini görebilir.
  • Bir çalışma alanı Üyesi, Katkıda Bulunan veya Görüntüleyici, veri ambarı içinde sys.dm_exec_sessions ve sys.dm_exec_requests işlemlerini gerçekleştirebilir ve yalnızca kendi oturumlarını ve isteklerini görebilir. Bu roller sys.dm_exec_connections çalıştıramaz.
  • Oturumu durdurmak için yalnızca çalışma alanı Yöneticisi komutunu çalıştırabilir KILL .

Depo bağlantılarını ve oturumlarını bulun

Veri ambarına yönelik her bağlantının oturumunu görüntülemek için sys.dm_exec_connections ve sys.dm_exec_sessions öğelerine katılın:

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

Ambarda uzun süre çalışan bir sorgu bulmak, sorguyu başlatan kullanıcıyı tanımlamak ve isterseniz onu çalıştıran oturumu durdurmak için aşağıdaki adımları kullanın.

  1. Etkin ambar isteklerini listeleyin ve her birinin geldiğinden bu yana ne kadar süreyle çalıştığını sıralayın:

    SELECT request_id, session_id, start_time, total_elapsed_time
    FROM sys.dm_exec_requests
    WHERE status = 'running'
    ORDER BY total_elapsed_time DESC;
    
  2. Uzun süre çalışan sorguyu içeren oturumu başlatan kullanıcıyı bulun. <session_id> öğesini önceki adımdaki session_id değeriyle değiştirin:

    SELECT login_name
    FROM sys.dm_exec_sessions
    WHERE session_id = <session_id>;
    
  3. İsterseniz, oturumu iptal edip geri almak için session_id ile KILL komutunu çalıştırın:

    KILL <session_id>;
    

    Örneğin, oturumu 101durdurmak için:

    KILL 101;
    

Sorgu engellemeyi tanılamaya ve çözmeye yönelik adım adım kılavuz için bkz. Fabric Data Warehouse'de sorgu engelleme sorunlarını giderme.