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.

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;

sys.dm_exec_sessions sonuçlarını gösteren ekran görüntüsü.

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

Sonraki adımlar