Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
Azure Synapse Analytics
Elemzési platformrendszer (PDW)
SQL Analytics-végpont a Microsoft Fabricben
Raktár a Microsoft Fabricben
SQL-adatbázis a Microsoft Fabricben
Az SQL Serveren minden hitelesítésen egy sort ad vissza.
sys.dm_exec_sessions egy szerver-hatókörű nézet, amely minden aktív felhasználói kapcsolatról és belső feladatról mutatja az információkat. Ez az információ magában foglalja a kliens verziót, kliens programnevét, kliens bejelentkezési idejét, bejelentkezési felhasználót, aktuális ülésbeállítást és még sok mást.
sys.dm_exec_sessions Először a jelenlegi rendszerterhelés megtekintésére és az érdeklődési kör keresésére szolgáló ülés azonosítására, majd további információt szerezni az adott ülésről más dinamikus menedzsment nézetek vagy dinamikus menedzsment funkciók használatával.
A sys.dm_exec_connections, sys.dm_exec_sessions, és sys.dm_exec_requests dinamikus menedzsment nézetek a lejáratott sys.sysprocesses rendszerkompatibilitási nézethez fordulnak.
Megjegyzés:
Az Azure Synapse Analytics (csak dedikált SQL pool) vagy Analytics Platform System (PDW) nézetének megnevezéséhez lásd sys.dm_pdw_nodes_exec_sessions. Use sys.dm_exec_sessions for Azure Synapse Analytics (serverless SQL pool only) vagy Microsoft Fabric.
| Oszlop név | Adattípus | Null értékű lehet | Description |
|---|---|---|---|
session_id |
smallint | Nem | Azonosítja az egyes aktív elsődleges kapcsolatokhoz társított munkamenetet. |
login_time |
datetime | Nem | A munkamenet létrehozásának időpontja. Azok a munkamenetek, amelyek még nem voltak teljesen bejelentkezve, amikor ezt a DMV-t lekérdezik, bejelentkezési időponttal 1900-01-01jelennek meg. |
host_name |
nvarchar(128) | Igen | Az ügyfél munkaállomásának neve, amely kifejezetten egy üléshez kapcsolódik. Az érték a belső munkamenetekhez tartozik NULL .Biztonsági megjegyzés: Az ügyfélalkalmazás adja meg a munkaállomás nevét, és pontatlan adatokat is szolgáltathat. Ne támaszkodj HOST_NAME rá biztonsági funkcióként. |
program_name |
nvarchar(128) | Igen | A munkamenetet kezdeményező ügyfélprogram neve. Az érték a belső munkamenetekhez tartozik NULL . |
host_process_id |
int | Igen | A folyamatazonosító a kliens programról, amely elindította a játékot. Az érték a belső munkamenetekhez tartozik NULL . |
client_version |
int | Igen | a TDS protokoll verziója annak az interfésznek, amelyet az ügyfél használ a szerverhez való csatlakozáshoz. Az érték a belső munkamenetekhez tartozik NULL . |
client_interface_name |
nvarchar(32) | Igen | Annak a könyvtárnak/illesztőprogramnak a neve, amelyet az ügyfél használ a kiszolgálóval való kommunikációhoz. Az érték a belső munkamenetekhez tartozik NULL . |
security_id |
varbinary(85) | Nem | A bejelentkezéshez tartozó Windows biztonsági azonosító. |
login_name |
nvarchar(128) | Nem | AZ SQL Server bejelentkezési neve, amely alatt a munkamenet jelenleg fut. Az eredeti bejelentkezési névért, amely létrehozta az ülést, lásd original_login_name. Lehet SQL Server által hitelesített bejelentkezési név vagy Windows által hitelesített domain felhasználónév. |
nt_domain |
nvarchar(128) | Igen | Windows domain a kliensnek, ha a szekció Windows hitelesítést vagy megbízható kapcsolatot használ. Ez az érték belső munkamenetekre és nem domain felhasználókra vonatkozik NULL . |
nt_user_name |
nvarchar(128) | Igen | A kliens Windows felhasználóneve, ha a munkamenet Windows hitelesítést vagy megbízható kapcsolatot használ. Ez az érték belső munkamenetekre és nem domain felhasználókra vonatkozik NULL . |
status |
nvarchar(30) | Nem | A munkamenet állapota. Lehetséges értékek:Running - Jelenleg egy vagy több kérést futtatSleeping - Jelenleg nem futtat kéréseketDormant - A munkamenetet a kapcsolat pooling miatt újraindították, és most prelogin állapotban van.Preconnect - A Session a Resource Governor osztályzóban van. |
context_info |
varbinary(128) | Igen |
CONTEXT_INFO a munkamenet értéke. A kontextusinformációt a felhasználó állítja be a SET CONTEXT_INFO utasítással. |
cpu_time |
int | Nem | A CPU ideje, milliszekundumokban, amelyet ez az ülés használ. |
memory_usage |
int | Nem | A 8 KB-os memória száma, amelyet ebben az ülésben használtak. |
total_scheduled_time |
int | Nem | Az összes idő, milliszekundumokban, amelyre az ülések (a belső kérések) végrehajtásra ütemezték. |
total_elapsed_time |
int | Nem | Az idő, milliszekundumokban, mióta az ülés megalapozott. |
endpoint_id |
int | Nem | Az üléshez tartozó végpont azonosítója. |
last_request_start_time |
datetime | Nem | Az az idő, amikor az ülés utolsó kérése elkezdődött. Ez az időszak tartalmazza a jelenleg végrehajtott kérést is. |
last_request_end_time |
datetime | Igen | A munkamenetre vonatkozó kérés utolsó befejezésének időpontja. |
reads |
bigint | Nem | A fizikai olvasások száma, kérések alapján ebben az ülésben, ebben az ülésben. |
writes
1 |
bigint | Nem | A fizikai írások száma, kérések alapján ebben az ülésben, ebben az ülésben. |
logical_reads |
bigint | Nem | A logikai olvasások száma, amelyeket kérések végeztek ebben az ülésben, ebben az ülésben. |
is_user_process |
bit | Nem |
0 ha a munkamenet rendszermunkamenet. Ellenkező esetben ez 1. |
text_size |
int | Nem |
TEXTSIZE beállítást a munkamenethez. |
language |
nvarchar(128) | Igen |
LANGUAGE beállítást a munkamenethez. |
date_format |
nvarchar(3) | Igen |
DATEFORMAT beállítást a munkamenethez. |
date_first |
smallint | Nem |
DATEFIRST beállítást a munkamenethez. |
quoted_identifier |
bit | Nem |
QUOTED_IDENTIFIER beállítást a munkamenethez. |
arithabort |
bit | Nem |
ARITHABORT beállítást a munkamenethez. |
ansi_null_dflt_on |
bit | Nem |
ANSI_NULL_DFLT_ON beállítást a munkamenethez. |
ansi_defaults |
bit | Nem |
ANSI_DEFAULTS beállítást a munkamenethez. |
ansi_warnings |
bit | Nem |
ANSI_WARNINGS beállítást a munkamenethez. |
ansi_padding |
bit | Nem |
ANSI_PADDING beállítást a munkamenethez. |
ansi_nulls |
bit | Nem |
ANSI_NULLS beállítást a munkamenethez. |
concat_null_yields_null |
bit | Nem |
CONCAT_NULL_YIELDS_NULL beállítást a munkamenethez. |
transaction_isolation_level |
smallint | Nem | A munkamenet tranzakcióelkülönítési szintje.0 = Unspecified1 = ReadUncommitted2 = ReadCommitted3 = RepeatableRead4 = Serializable5 = Snapshot |
lock_timeout |
int | Nem |
LOCK_TIMEOUT beállítást a munkamenethez. Az érték ezredmásodpercben van. |
deadlock_priority |
int | Nem |
DEADLOCK_PRIORITY beállítást a munkamenethez. |
row_count |
bigint | Nem | Eddig a játékrész visszatért sorainak száma. |
prev_error |
int | Nem | A munkamenet utolsó visszaadott hibájának azonosítója. |
original_security_id |
varbinary(85) | Nem | Windows biztonsági azonosítója, amely a .original_login_name |
original_login_name |
nvarchar(128) | Nem | SQL Server bejelentkezési neve, amelyet az ügyfél használt a munkamenet létrehozásához. Lehet SQL Server által hitelesített bejelentkezési név, Windows által hitelesített domain felhasználónév vagy egy beépített adatbázis-felhasználó. A munkafolyamat számos implicit vagy explicit kontextusváltáson keresztül zajlott az első csatlakozás után, például ha az EXECUTE AS funkciót használjuk. |
last_successful_logon |
datetime | Igen | Az utolsó sikeres bejelentkezés ideje a original_login_name jelenlegi játékalkalom kezdete előtt. |
last_unsuccessful_logon |
datetime | Igen | Az utolsó sikertelen bejelentkezési kísérlet ideje a original_login_name jelenlegi ülés kezdete előtt. |
unsuccessful_logons |
bigint | Igen | A sikertelen bejelentkezési kísérletek száma a original_login_namelast_successful_logon és login_timeközötti részre. |
group_id |
int | Nem | Annak a számítási feladatcsoportnak az azonosítója, amelyhez ez a munkamenet tartozik. |
database_id |
smallint | Nem | Az aktuális adatbázis azonosítója minden munkamenethez. Az Azure SQL Database-ben az értékek egyediek egyetlen adatbázisban vagy rugalmas készletben, de nem logikai kiszolgálón belül. A: SQL Server 2012 (11.x) és újabb verziókra vonatkozik. |
authenticating_database_id |
int | Igen | Az egyszerűséget hitelesítő adatbázis azonosítója. A bejelentkezések esetében az érték .0 A tartalmazott adatbázis felhasználói számára az érték a tartalmazott adatbázis adatbázis-azonosítója.A: SQL Server 2012 (11.x) és újabb verziókra vonatkozik. |
open_transaction_count |
int | Nem | Nyitott tranzakciók száma munkamenetenként. A: SQL Server 2012 (11.x) és újabb verziókra vonatkozik. |
pdw_node_id |
int | Nem | Annak a csomópontnak az azonosítója, amelyen ez a disztribúció található. Alkalmazható: Azure Synapse Analytics és Analytics Platform System (PDW). |
page_server_reads |
bigint | Nem | A válaszadó olvasmányainak száma, amelyeket ebben az ülésben végzett kérések végeztek ebben az ülésben. Az azure SQL Database rugalmas skálázásivonatkozik. |
contained_availability_group_id |
uniqueidentifier | Igen | A tárolt elérhetőségi csoport azonosítója. Érvényes: SQL Server 2025 (17.x) és újabb verziók. |
1 Megadja, mikor jelölik meg egy oldalt koszosnak a pufferpoolban. Ez az érték nem egyenlő közvetlenül a tényleges írásokkal, mert ugyanazt az oldalt többször is meg lehet jelölni. Ezeket a számlálókat a tétel végén aggregálják.
Permissions
Mindenki láthatja a saját ülésinformációit.
Az SQL Server 2019 (15.x) és korábbi verziókban minden VIEW SERVER STATE munkamenetet meg kell nézni a szerveren. Az SQL Server 2022 -ben (16.x) és újabb verziókban engedélyre van szükség VIEW SERVER PERFORMANCE STATE a kiszolgálón.
Az SQL Database-ben minden VIEW DATABASE STATE kapcsolatot meg kell nézni az aktuális adatbázishoz.
VIEW DATABASE STATE Nem lehet megadni az master adatbázisban.
Megjegyzések
Amikor a common criteria compliance enabled szerver konfigurációs opció engedélyezve van, a bejelentkezési statisztikák a következő oszlopokban jelennek meg.
last_successful_logonlast_unsuccessful_logonunsuccessful_logons
Ha ez az opció nincs engedélyezve, ezek az oszlopok null értékeket adnak vissza. További információért a szerverkonfigurációs opció beállításáról lásd: Általános kritériumoknak megfelelési konfiguráció engedélyezése.
Az Azure SQL Database-en admin kapcsolatok egy sort látnak minden hitelesítési alkalomonként. Az eredménycsomagban megjelenő sa ülések nem befolyásolják a felhasználói kvótát. A nem adminisztrátor kapcsolatok csak az adatbázis felhasználói munkameneteikkel kapcsolatos információkat látják.
A rögzítés módjai eltérések miatt open_transaction_count lehet, hogy nem egyeznek sys.dm_tran_session_transactions.open_transaction_count.
Kapcsolati számosságok
| Ettől kezdve | Há | Jelentkezés/Jelentkezés | Kapcsolat |
|---|---|---|---|
sys.dm_exec_sessions |
sys.dm_exec_requests | session_id |
Egy-nulla vagy egy-több- |
sys.dm_exec_sessions |
sys.dm_exec_connections | session_id |
Egy-nulla vagy egy-több- |
sys.dm_exec_sessions |
sys.dm_tran_session_transactions | session_id |
Egy-nulla vagy egy-több- |
sys.dm_exec_sessions |
sys.dm_exec_cursors (session_id | 0) |
session_id CROSS APPLYOUTER APPLY |
Egy-nulla vagy egy-több- |
sys.dm_exec_sessions |
sys.dm_db_session_space_usage | session_id |
One-to-one |
Példák
A. Keress olyan felhasználókat, akik csatlakoznak a szerverhez
A következő példa megtalálja azokat a felhasználókat, akik csatlakoztak a szerverhez, és visszaadja az egyes felhasználók számára a munkamenetek számát.
SELECT login_name,
COUNT(session_id) AS session_count
FROM sys.dm_exec_sessions
GROUP BY login_name;
B. Keress hosszú futású kurzorokat
A következő példa megmutatja, hogy a kurzorok hosszabb ideig voltak nyitva, kik hozták létre a kurzorokat, és milyen ülésen vannak a kurzorok.
USE master;
GO
SELECT creation_time,
cursor_id,
name,
c.session_id,
login_name
FROM sys.dm_exec_cursors(0) AS c
INNER JOIN sys.dm_exec_sessions AS s
ON c.session_id = s.session_id
WHERE DATEDIFF(mi, c.creation_time, GETDATE()) > 5;
C. Keress olyan üres üléseket, amelyekben nyitott tranzakciók vannak
A következő példa olyan üléseket talál, amelyek nyitott tranzakciókkal rendelkeznek és tétlenek. A tétlen ülés az, amelynél jelenleg nincs kérés futva.
SELECT s.*
FROM sys.dm_exec_sessions AS s
WHERE EXISTS (SELECT *
FROM sys.dm_tran_session_transactions AS t
WHERE t.session_id = s.session_id)
AND NOT EXISTS (SELECT *
FROM sys.dm_exec_requests AS r
WHERE r.session_id = s.session_id);
D. Találj információt egy lekérdezés saját kapcsolatáról
Az alábbi példa gyűjt információkat egy lekérdezés saját kapcsolatáról:
SELECT c.session_id,
c.net_transport,
c.encrypt_option,
c.auth_scheme,
s.host_name,
s.program_name,
s.client_interface_name,
s.login_name,
s.nt_domain,
s.nt_user_name,
s.original_login_name,
c.connect_time,
s.login_time
FROM sys.dm_exec_connections AS c
INNER JOIN sys.dm_exec_sessions AS s
ON c.session_id = s.session_id
WHERE c.session_id = @@SPID;