Megosztás a következőn keresztül:


sys.dm_os_threads (Transact-SQL)

Vonatkozik a következőkre:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalitikai Platform System (PDW)SQL adatbázis a Microsoft Fabric-ben

Visszaadja az összes SQL Server operációs rendszer szál listáját, amelyek az SQL Server folyamatban futnak.

Megjegyzés:

Az Azure Synapse Analytics vagy Analytics Platform System (PDW) néven használjuk a sys.dm_pdw_nodes_os_threads nevet. Ezt a szintaxist az Azure Synapse Analytics kiszolgáló nélküli SQL-készlete nem támogatja.

Oszlop név Adattípus Description
thread_address varbinary(8) A szál memóriacíme (elsődleges kulcs).
started_by_sqlservr bit Jelzi a szálindítót.

1 = SQL Server indította el a szálat.

0 = Egy másik komponens indította el a szálat, például egy kiterjesztett tárolt eljárás az SQL Serverből.
os_thread_id int Az operációs rendszer által hozzárendelt szál azonosítója.
állapot int Belső állapotjelző.
instruction_address varbinary(8) A jelenleg végrehajtandó utasítás címe.
creation_time datetime Ez az idő, amikor ez a szál létrejött.
kernel_time bigint Mennyi kernel-idő van ezen a szálnak.
usermode_time bigint A használati idő, amit ez a thread használ.
stack_base_address varbinary(8) A szál legmagasabb stack címének memóriacíme.
stack_end_address varbinary(8) Ennek a szálnak a legalacsonyabb stack címének memóriacíme.
stack_bytes_committed int A veremben elkötelezett bájtok száma.
stack_bytes_used int Hány bájt aktívan van a szálon.
affinitás bigint CPU maszk, amelyen ez a szál fut. Ez attól függ, milyen értéket állít be az ALTER SERVER CONFIGURATION SET PROCESS AFFINITY utasítás. Lehet, hogy más, mint az időzítő, ha soft-affinitás van.
Priority int Ennek a témának a prioritási értéke.
Helyszín int Gyorsítótározott LCID helyi LCID a szálhoz.
Jelző varbinary(8) Gyorsítótározott impersonációs token cím a szálhoz.
is_impersonating int Jelzi, hogy ez a thread Win32 utánzást használ-e.

1 = A szál biztonsági hitelesítéseket használ, amelyek eltérnek a folyamat alapértelmezettségétől. Ez arra utal, hogy a szál egy másik entitásnak nevezi magát, nem azt, aki létrehozta a folyamatot.
is_waiting_on_loader_lock int Az operációs rendszer állapota, hogy a szál várak-e a töltő zárolásán.
fiber_data varbinary(8) A jelenlegi Win32 szál, ami a szálon fut. Ez csak akkor alkalmazható, ha az SQL Server könnyű poolingre van konfigurálva.
thread_handle varbinary(8) Csak belső használatra.
event_handle varbinary(8) Csak belső használatra.
scheduler_address varbinary(8) Az ütemező memóriacíme, amely ehhez a szálhoz kapcsolódik. További információért lásd sys.dm_os_schedulers (Transact-SQL).
munkavállaló_címe varbinary(8) A munkatárs memóriacíme, amely ehhez a szálhoz van kötve. További információért lásd sys.dm_os_workers (Transact-SQL).
fiber_context_address varbinary(8) Belső szálas kontextuscím. Ez csak akkor alkalmazható, ha az SQL Server könnyű poolingre van konfigurálva.
self_address varbinary(8) Belső konzisztencia mutató.
processor_group smallint Érvényes: SQL Server 2008 R2 (10.50.x) és újabb verziók.

Processzorcsoport azonosító.
pdw_node_id int A következővonatkozik: Azure Synapse Analytics, Analytics Platform System (PDW)

Annak a csomópontnak az azonosítója, amelyen ez a disztribúció található.

Permissions

Az SQL Serveren és a felügyelt SQL-példányon VIEW SERVER STATE engedély szükséges.

Az SQL Database Alapszintű, S0és S1 szolgáltatás célkitűzésein, valamint rugalmas készletekbenlévő adatbázisok esetében a kiszolgálói rendszergazdai fiókra, a Microsoft Entra rendszergazdai fiókra vagy a ##MS_ServerStateReader##kiszolgálói szerepkör tagságára van szükség. Az SQL Database szolgáltatás minden más célkitűzéséhez vagy az adatbázis VIEW DATABASE STATE engedélyére, vagy a ##MS_ServerStateReader## kiszolgálói szerepkör tagságára van szükség.

Engedélyek az SQL Server 2022-hez és újabb verziókhoz

A KISZOLGÁLÓ TELJESÍTMÉNYÁLLAPOTÁNAK MEGTEKINTÉSE engedélyre van szükség a kiszolgálón.

Jegyzetek a Linux verzióról

Az SQL motor működése miatt a Linux néhány információja nem egyezik meg a Linux diagnosztikai adataival. Például os_thread_id nem egyezik meg olyan eszközök eredményével, mint ps,top vagy a procfs (/proc/pid). Ennek köszönhető, hogy a Platform Absztrakcióréteg (SQLPAL) található, amely az SQL Server komponensek és az operációs rendszer közötti réteg.

Példák

Indításkor az SQL Server indít szálakat, majd azokhoz társítja a munkatársakat. Azonban külső komponensek, például egy kiterjesztett tárolt eljárás, indíthatnak szálakat az SQL Server folyamat alatt. Az SQL Server nem rendelkezik ellenőrzéssel ezekre a szálakra. sys.dm_os_threads információkat nyújthatnak az SQL Server folyamatban erőforrásokat fogyasztó rogue szálakról.

A következő lekérdezés arra szolgál, hogy megtalálja azokat a munkásokat, valamint az végrehajtásra fordított időt, amelyek olyan szálakat futtatnak, amelyeket nem az SQL Server indított.

Megjegyzés:

A tömörség érdekében a következő lekérdezés csillagot (*) használ az SELECT állításban. Kerüld a csillag (*) használatát, különösen katalógusnézetek, dinamikus menedzsment nézetek és rendszertáblázat-értékű függvények esetén. A Microsoft SQL Server jövőbeli fejlesztései és kiadásai oszlopokat is hozzáadhatnak, és megváltoztathatják az oszlopok sorrendjét ezekhez a nézetekhez és funkciókhoz. Ezek a változások megtörhetik azokat az alkalmazásokat, amelyek egy adott sorrendet és oszlopszámot várnak el.

SELECT *  
  FROM sys.dm_os_threads  
  WHERE started_by_sqlservr = 0;  

Lásd még

sys.dm_os_workers (Transact-SQL)
SQL Server operációs rendszerhez kapcsolódó dinamikus felügyeleti nézetek (Transact-SQL)