sys.dm_pdw_exec_sessions (Transact-SQL)

platí pro: Azure Synapse AnalyticsAnalytics Platform System (PDW)

Obsahuje informace o všech aktuálně nebo nedávných otevřených sezení. Dynamický sys.dm_pdw_exec_sessions management view (DMV) uvádí jeden řádek na každou relaci.

Název sloupce Datový typ Popis Range
session_id nvarchar(32) ID aktuálního dotazu nebo posledního provedeného dotazu (pokud je relace UKONČENA a dotaz byl vykonáván v době ukončení). Klíč pro toto zobrazení Unikátní napříč všemi sezeními v systému.
status nvarchar(10) Pro aktuální sezení identifikuje, zda je relace aktuálně aktivní nebo nečinná. U předchozích sezení může stav relace ukazovat uzavření nebo ukončení (pokud byla relace násilně uzavřena). ACTIVE, CLOSED, , IDLETERMINATED
request_id nvarchar(32) ID aktuálního dotazu nebo posledního provedeného dotazu. Jedinečné napříč všemi požadavky v systému. NULL pokud žádný nebyl proveden.
security_id varbinary(85) Bezpečnostní ID ředitele, který relaci vedl.
login_name nvarchar(128) Přihlašovací jméno ředitele, který vede sezení. Jakýkoli řetězec odpovídající uživatelským konvencím pojmenování.
login_time datetime Datum a čas, kdy se uživatel přihlásil a tato relace byla vytvořena. Platný datum před současným časem.
query_count int Zachycuje počet dotazů/požadavků, které tato relace provedla od vytvoření. Větší nebo rovno 0.
is_transactional bit Zaznamenává, zda je relace aktuálně v rámci transakce, nebo ne. 0 pro automatické potvrzení, 1 pro transakční.
client_id nvarchar(255) Zaznamenává informace o klientovi pro danou relaci. IPv6 adresa znamená, že byl použit soukromý koncový bod. Jakýkoli platný řetězec.
app_name nvarchar(255) Zachycuje informace o názvu aplikace, které jsou volitelně nastaveny jako součást procesu připojení. Jakýkoli platný řetězec.
sql_spid int Sloupec IDs obsahuje uzavřené SPID.

Pro informace o maximálním počtu řádků zachovaných tímto pohledem viz Metadata limitů kapacity.

Povolení

Vyžaduje oprávnění VIEW SERVER STATE.

Poznámky

Tato syntaxe není podporována bezserverovým fondem SQL ve službě Azure Synapse Analytics. Pro serverless SQL pool použijte sys.dm_exec_sessions.

Examples

A. Aktivní relace

Pro zjištění počtu aktivních sezení:

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

B. Otevřené sezení déle než 10 minut

Chcete-li najít sezení, která jsou otevřená déle než 10 minut:

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. Aplikace/uživatelé zobrazovacích relací, kteří jsou aktuálně připojeni

Najít informace o relacích včetně zdrojové aplikace, kdo je připojen, odkud spojení přichází a zda se používá Microsoft Entra ID nebo SQL autentizace.

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;