sys.dm_pdw_exec_sessions (Transact-SQL)

gäller för:Azure Synapse AnalyticsAnalytics Platform System (PDW)

Innehåller information om alla sessioner som för närvarande eller nyligen öppnat. Den dynamiska hanteringsvyn sys.dm_pdw_exec_sessions (DMV) listar en rad per session.

Kolumnnamn Datatyp Beskrivning Räckvidd
session_id nvarchar(32) ID:t för den aktuella frågan eller den senaste körda frågan (om sessionen är TERMINERAD och frågan kördes vid avslutningstillfället). Nyckel för den här vyn. Unikt över alla sessioner i systemet.
status nvarchar(10) För aktuella sessioner identifierar den om sessionen är aktiv eller inaktiv. För tidigare sessioner kan sessionens status visa stängd eller dödad (om sessionen tvingades stängas). ACTIVE, CLOSED, IDLE, TERMINATED
request_id nvarchar(32) ID:t för den aktuella eller senaste körda frågan. Unikt för alla begäranden i systemet. NULL om ingen har körts.
security_id varbinary(85) Säkerhets-ID för rektorn som leder sessionen.
login_name nvarchar(128) Inloggningsnamnet på den rektor som leder sessionen. Varje sträng som följer användarens namngivningskonventioner.
login_time datetime Datum och tid då användaren loggade in och denna session skapades. Giltigt datum före nuvarande tid.
query_count int Fångar antalet frågor/förfrågningar som denna session har kört sedan skapandet. Större än eller lika med 0.
is_transactional bit Fångar om en session för närvarande är inom en transaktion eller inte. 0 för auto-commit, 1 för transaktionell.
client_id nvarchar(255) Fångar klientinformation för sessionen. IPv6-adress indikerar att privat slutpunkt används. Vilken giltig sträng som helst.
app_name nvarchar(255) Fångar applikationsnamninformation som valfritt kan ställas in som en del av anslutningsprocessen. Vilken giltig sträng som helst.
sql_spid int Kolumnen IDs innehåller slutna SPID:er.

För information om de maximala rader som behålls av denna vy, se Metadata för kapacitetsgränser.

Permissions

Kräver behörigheten VIEW SERVER STATE.

Anmärkningar

Den här syntaxen stöds inte av en serverlös SQL-pool i Azure Synapse Analytics. För serverless SQL-pooler använd sys.dm_exec_sessions.

Examples

A. Aktiva sessioner

För att hitta ett antal aktiva sessioner:

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

B. Öppna sessioner i mer än 10 minuter

För att hitta sessioner som varit öppna längre än 10 minuter:

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. Visningssessionsapplikationer/användare som för närvarande är anslutna

För att hitta sessionsinformation inklusive källapplikation, vem som är ansluten, var anslutningen kommer ifrån och om den använder Microsoft Entra ID eller SQL-autentisering.

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;