sys.dm_pdw_exec_sessions (Transact-SQL)

van toepassing op:Azure Synapse AnalyticsAnalytics Platform System (PDW)

Bevat informatie over alle sessies die momenteel of recent geopend zijn. De sys.dm_pdw_exec_sessions dynamische beheerweergave (DMV) vermeldt één rij per sessie.

Kolomnaam Gegevenssoort Beschrijving Bereik
session_id nvarchar(32) De ID van de huidige query of de laatste uitgevoerde query (als de sessie TERMINED is en de query op het moment van beëindiging werd uitgevoerd). Sleutel voor deze weergave. Uniek in alle sessies in het systeem.
status nvarchar(10) Voor huidige sessies wordt aangegeven of de sessie momenteel actief of inactief is. Voor eerdere sessies kan de sessiestatus als gesloten of uitgeschakeld aangeven (als de sessie gedwongen werd gesloten). ACTIVE,CLOSED,IDLE,TERMINATED
request_id nvarchar(32) De ID van de huidige query of de laatste query die wordt uitgevoerd. Uniek voor alle aanvragen in het systeem. NULL als er geen is gelopen.
security_id varbinary(85) Beveiligings-ID van de directeur die de sessie leidt.
login_name nvarchar(128) De inlognaam van de directeur die de sessie leidt. Elke string die voldoet aan de naamgevingsconventies van de gebruiker.
login_time datetime Datum en tijd waarop de gebruiker inlogde en deze sessie werd aangemaakt. Geldig datum en tijd vóór de huidige tijd.
query_count int Legt het aantal queries/verzoeken vast dat deze sessie sinds het opmaken heeft uitgevoerd. Groter dan of gelijk aan 0.
is_transactional bit Legt vast of een sessie zich momenteel binnen een transactie bevindt of niet. 0 voor auto-commit, 1 voor transactionele.
client_id nvarchar(255) Legt klantinformatie vast voor de sessie. IPv6-adres geeft aan dat het privé-eindpunt wordt gebruikt. Elke geldige reeks.
app_name nvarchar(255) Legt applicatienaaminformatie vast die optioneel als onderdeel van het verbindingsproces wordt ingesteld. Elke geldige reeks.
sql_spid int De kolom IDs bevat gesloten SPID's.

Voor informatie over het maximale aantal rijen dat door deze weergave behouden blijft, zie Metadata van Capaciteitslimieten.

Permissions

Hiervoor is de VIEW SERVER STATE machtiging vereist.

Opmerkingen

Deze syntaxis wordt niet ondersteund door een serverloze SQL-pool in Azure Synapse Analytics. Gebruik sys.dm_exec_sessions voor serverless SQL-pools.

Examples

A. Actieve sessies

Om een aantal actieve sessies te vinden:

SELECT active_count = COUNT(session_Id)
FROM sys.dm_pdw_exec_sessions
WHERE status = 'ACTIVE';

B. Open sessies van meer dan 10 minuten

Om sessies te vinden die langer dan 10 minuten open zijn geweest:

SELECT *, session_duration_s = DATEDIFF (s, login_time, getdate() ) 
 FROM sys.dm_pdw_exec_sessions
 WHERE DATEDIFF (s, login_time, getdate() ) > 600; -- 10 minutes

C. Sessieapplicaties/gebruikers die momenteel verbonden zijn, weergeven

Om sessie-informatie te vinden, inclusief de bronapplicatie, wie is verbonden, waar de verbinding vandaan komt, en of het wordt gebruikt met Microsoft Entra ID of SQL-authenticatie.

SELECT DISTINCT CASE 
        WHEN len(tt) = 0
            THEN app_name
        ELSE tt
        END AS application_name
    ,login_name
    ,ip_address
FROM (
    SELECT DISTINCT app_name
        ,substring(client_id, 0, CHARINDEX(':', ISNULL(client_id, '0.0.0.0:123'))) AS ip_address
        ,login_name
        ,isnull(substring(app_name, 0, CHARINDEX('-', ISNULL(app_name, '-'))), 'h') AS tt
    FROM sys.dm_pdw_exec_sessions
    ) AS a;