Seuraa yhteyksiä, istuntoja ja pyyntöjä DMV:n avulla

Koskee:✅ SQL-analytiikan päätepiste ja Microsoft Fabric -varasto

Käytä olemassa olevia dynaamisen hallintanäkymän (DMV) seuraamaan yhteyksien, istunnon ja pyyntöjen tilaa Microsoft Fabric -sovelluksessa. Lisätietoja T-SQL-kyselyjen suorittamisen työkaluista ja menetelmistä löytyy kohdasta Query a warehouse.

Tässä opetusohjelmassa opit, miten seuraat käynnissä olevia SQL-kyselyitäsi käyttämällä dynaamisia hallintanäkymiä (DMV).

Kuinka seurata yhteyksiä, istuntoja ja pyyntöjä käyttämällä kyselyn elinkaaren DMV:itä

Kolme DMV:tä tarjoaa reaaliaikaisia SQL-kyselyjen elinkaaren näkemyksiä:

Yhdessä nämä DMV:t auttavat sinua vastaamaan kysymyksiin kuten:

  • Kuka vetää sessiota?
  • Milloin sessio alkoi?
  • Mikä on yhteys varastoon ja istunnolle, joka suorittaa pyynnön?
  • Kuinka monta kyselyä suoritetaan aktiivisesti?
  • Mitkä kyselyt ovat pitkään jatkuvia?

Edellytykset

  • Työtila, jossa on aktiivinen Fabric-kapasiteetti.
  • Olemassa oleva varasto- tai SQL-analytiikkapäätepiste.
  • T-SQL-kyselytyökalu, kuten SQL-kyselyeditori tai SQL Server Management Studio (SSMS).
  • Oikeudet DMV:iden kyselyyn ja istuntojen hallintaan.

Vaaditut oikeudet DMV-kyselyihin ja istuntojen hallintaan

  • Työtilan ylläpitäjä voi suorittaa kaikki kolme DMV:tä (sys.dm_exec_connections, sys.dm_exec_sessions, ja sys.dm_exec_requests) ja nähdä istunto-, yhteys- ja pyyntötiedot kaikille käyttäjille työtilassa.
  • Työtilan jäsen, osallistuja tai katsoja voi suorittaa sys.dm_exec_sessions ja sys.dm_exec_requests nähdä vain omat istuntonsa ja pyyntönsä varastossa. Nämä roolit eivät voi toteuttaa sys.dm_exec_connections.
  • Vain työtilan ylläpitäjä voi suorittaa komennon KILL pysäyttääkseen istunnon.

Löydä varastoyhteyksiä ja sessioita

Liity sys.dm_exec_connections ja sys.dm_exec_sessions katso istunto jokaisesta varaston yhteydestä:

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;

Pitkäkestoisen kyselyn tunnistaminen ja tappaminen

Käytä seuraavia vaiheita löytääksesi pitkään jatkuneen kyselyn varastosta, tunnistaaksesi käyttäjän, joka sen aloitti, ja halutessasi pysäytä sessio, joka sitä ajaa.

  1. Listaa aktiiviset varastopyynnöt, järjestettynä sen mukaan, kuinka kauan kukin on ollut käynnissä saapumisestaan lähtien:

    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. Etsi käyttäjä, joka aloitti istunnon ja joka sisältää pitkän kyselyn. Korvaa <session_id> edellisen session_id vaiheen arvolla:

    SELECT login_name
    FROM sys.dm_exec_sessions
    WHERE session_id = <session_id>;
    
  3. Halutessasi peruuta ja peruuta istunto ajamalla komento KILL :session_id

    KILL <session_id>;
    

    Esimerkiksi pysäyttää istunto 101:

    KILL 101;
    

Vaiheittaisen oppaan kyselyeston diagnosointiin ja ratkaisemiseen löytyy kohdasta Vianetsintä kyselyjen estossa Fabric tietovarasto.