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 vagy Analytics Platform System (PDW) dedikált SQL pooljából való nevezéshez lásd sys.dm_pdw_nodes_exec_sessions. Serverless SQL poolhoz vagy Microsoft Fabrichez használd sys.dm_exec_sessions.
| Oszlop név | Adattípus | Leírás és verzióspecifikus információk |
|---|---|---|
session_id |
smallint | Azonosítja az egyes aktív elsődleges kapcsolatokhoz társított munkamenetet. Nem null értékű. |
login_time |
datetime | A munkamenet létrehozásának időpontja. Nem null értékű. 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) | Az ügyfél munkaállomásának neve, amely kifejezetten egy ülésre vonatkozik. Az érték a belső munkamenetekhez tartozik NULL . Nullable.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) | A munkamenetet kezdeményező ügyfélprogram neve. Az érték a belső munkamenetekhez tartozik NULL . Nullable. |
host_process_id |
int | A folyamatazonosító a kliens programról, amely elindította a játékot. Az érték a belső munkamenetekhez tartozik NULL . Nullable. |
client_version |
int | A TDS protokoll verziója az interfésznek, amelyet a kliens használ a szerverhez való csatlakozáshoz. Az érték a belső munkamenetekhez tartozik NULL . Nullable. |
client_interface_name |
nvarchar(32) | 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 . Nullable. |
security_id |
varbinary(85) | A bejelentkezéshez tartozó Windows biztonsági azonosító. Nem null értékű. |
login_name |
nvarchar(128) | 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. Nem null értékű. |
nt_domain |
nvarchar(128) | 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 . Nullable. |
nt_user_name |
nvarchar(128) | 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 . Nullable. |
status |
nvarchar(30) | 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.Nem null értékű. |
context_info |
varbinary(128) |
CONTEXT_INFO a munkamenet értéke. A kontextusinformációt a felhasználó állítja be a SET CONTEXT_INFO utasítással. Nullable. |
cpu_time |
int | A CPU ideje, milliszekundumokban, amelyet ez az ülés használ. Nem null értékű. |
memory_usage |
int | A 8 KB-os memória száma, amelyet ebben az ülésben használtak. Nem null értékű. |
total_scheduled_time |
int | Az összes idő, milliszekundumokban, amelyre az ülések (a belső kérések) végrehajtásra ütemezték. Nem null értékű. |
total_elapsed_time |
int | Az idő, milliszekundumokban, mióta az ülés megalapozott. Nem null értékű. |
endpoint_id |
int | Az üléshez tartozó végpont azonosítója. Nem null értékű. |
last_request_start_time |
datetime | 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. Nem null értékű. |
last_request_end_time |
datetime | A munkamenetre vonatkozó kérés utolsó befejezésének időpontja. Nullable. |
reads |
bigint | Az ülés során végzett olvasások száma, kérések alapján, ebben az ülésben. Nem null értékű. |
writes |
bigint | Az ülés során kérések alapján végrehajtott írások száma. Nem null értékű. |
logical_reads |
bigint | A logikai olvasások száma, amelyeket kérések végeztek ebben az ülésben, ebben az ülésben. Nem null értékű. |
is_user_process |
bit |
0 ha a munkamenet rendszermunkamenet. Ellenkező esetben ez 1. Nem null értékű. |
text_size |
int |
TEXTSIZE beállítást a munkamenethez. Nem null értékű. |
language |
nvarchar(128) |
LANGUAGE beállítást a munkamenethez. Nullable. |
date_format |
nvarchar(3) |
DATEFORMAT beállítást a munkamenethez. Nullable. |
date_first |
smallint |
DATEFIRST beállítást a munkamenethez. Nem null értékű. |
quoted_identifier |
bit |
QUOTED_IDENTIFIER beállítást a munkamenethez. Nem null értékű. |
arithabort |
bit |
ARITHABORT beállítást a munkamenethez. Nem null értékű. |
ansi_null_dflt_on |
bit |
ANSI_NULL_DFLT_ON beállítást a munkamenethez. Nem null értékű. |
ansi_defaults |
bit |
ANSI_DEFAULTS beállítást a munkamenethez. Nem null értékű. |
ansi_warnings |
bit |
ANSI_WARNINGS beállítást a munkamenethez. Nem null értékű. |
ansi_padding |
bit |
ANSI_PADDING beállítást a munkamenethez. Nem null értékű. |
ansi_nulls |
bit |
ANSI_NULLS beállítást a munkamenethez. Nem null értékű. |
concat_null_yields_null |
bit |
CONCAT_NULL_YIELDS_NULL beállítást a munkamenethez. Nem null értékű. |
transaction_isolation_level |
smallint | A munkamenet tranzakcióelkülönítési szintje.0 = Unspecified1 = ReadUncommitted2 = ReadCommitted3 = RepeatableRead4 = Serializable5 = SnapshotNem null értékű. |
lock_timeout |
int |
LOCK_TIMEOUT beállítást a munkamenethez. Az érték ezredmásodpercben van. Nem null értékű. |
deadlock_priority |
int |
DEADLOCK_PRIORITY beállítást a munkamenethez. Nem null értékű. |
row_count |
bigint | Eddig a játékrész visszatért sorainak száma. Nem null értékű. |
prev_error |
int | A munkamenet utolsó visszaadott hibájának azonosítója. Nem null értékű. |
original_security_id |
varbinary(85) | Windows biztonsági azonosítója, amely a .original_login_name Nem null értékű. |
original_login_name |
nvarchar(128) | 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 szekció sok implicit vagy explicit kontextusváltáson ment keresztül az első csatlakozás után, például ha az EXECUTE AS (EXECUTE AS ) használatra kerül. Nem null értékű. |
last_successful_logon |
datetime | Az utolsó sikeres bejelentkezés ideje a original_login_name jelenlegi játékalkalom kezdete előtt. |
last_unsuccessful_logon |
datetime | Az utolsó sikertelen bejelentkezési kísérlet ideje a original_login_name jelenlegi ülés kezdete előtt. |
unsuccessful_logons |
bigint | 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 | Annak a számítási feladatcsoportnak az azonosítója, amelyhez ez a munkamenet tartozik. Nem null értékű. |
database_id |
smallint | 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 | 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 | Nyitott tranzakciók száma munkamenetenként. A: SQL Server 2012 (11.x) és újabb verziókra vonatkozik. |
pdw_node_id |
int | 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 | A válaszadó olvasmányainak száma, amelyeket ebben az ülésben végzett kérések végeztek ebben az ülésben. Nem null értékű. Az azure SQL Database rugalmas skálázásivonatkozik. |
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: Server configuration: common criteria compliance enabled.
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;
GO
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;