sys.dm_tran_locks (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példányAzure Synapse AnalyticsElemzési platformrendszer (PDW)Raktár a Microsoft FabricbenSQL-adatbázis a Microsoft Fabricben

Információt ad vissza az SQL Server jelenleg aktív zárkezelő erőforrásairól. Minden sor egy jelenleg aktív kérelmet jelent a zárkezelőhöz, amelyet engedélyeztek vagy várnak a jóváhagyásra.

Az eredményhalmaz oszlopai két fő csoportra oszlanak: erőforrás és kérés. Az erőforráscsoport leírja azt az erőforrást, amelyen a zárolási kérelmet végzik, a kéréscsoport pedig a zárolási kérelmet írja le.

Note

Ha ezt az Azure Synapse Analytics vagy az Analytics Platform System (PDW) szolgáltatásból szeretné meghívni, használja a nevet sys.dm_pdw_nodes_tran_locks. Ezt a szintaxist az Azure Synapse Analytics kiszolgáló nélküli SQL-készlete nem támogatja.

Oszlop neve Adattípus Description
resource_type nvarchar(60) Az erőforrás típusát képviseli. Az érték lehet:

DATABASE

FILE

OBJECT

PAGE

KEY

EXTENT

RID (Sor azonosító)

APPLICATION

METADATA

HOBT (Halom vagy B-fa)

ALLOCATION_UNIT

XACT (Tranzakció)

OIB (Online index építés)

ROW_GROUP
resource_subtype nvarchar(60) Egy altípust képvisel .resource_type Technikailag érvényes, ha altípusú zárat szerezünk anélkül, hogy nem altípusú zárat tartanánk meg. A különböző altípusok nem ütköznek egymással, sem a nem altípusú szülőtípussal. Nem minden erőforrás-típusnak vannak altípusai.
resource_database_id int Az adatbázis azonosítója, amely alá ez az erőforrás meghatód. A zárkezelő által kezelt összes erőforrást az adatbázis azonosítója határozza meg.
resource_description nvarchar(256) Az olyan erőforrás leírása, amely csak olyan információkat tartalmaz, amelyek más erőforrásoszlopokból nem elérhetők.
resource_associated_entity_id bigint Az entitás azonosítója egy adatbázisban, amelyhez egy erőforrás kapcsolódik. Ez lehet objektumazonosító, HoBt azonosító vagy Allocation Unit ID (Allocation Unit ID), az erőforrás típusától függően.
resource_lock_partition Int A zár partíciójának azonosítója egy partíciós zár erőforráshoz. A nem partíciós zár erőforrások értéke .0
request_mode nvarchar(60) A kérés módja. Természetes, ha kérem, ez a megadott mód; Várakozó kéréseknél ez a kérés a mód.

NULL = Nem engedélyezik hozzáférést az erőforráshoz. Helyettesítő szerepként szolgál.

Sch-S (Séma stabilitás) = Biztosítja, hogy egy séma elem, például egy táblázat vagy index, ne essen el, miközben bármely szekció séma stabilitási zárat tartalmaz a séma elemén.

Sch-M (séma módosítás) = Bármely olyan ülésnek kell lennie, amely meg akarja változtatni a megadott erőforrás sémáját. Biztosítja, hogy más ülések ne hivatkozzanak a megadott objektumra.

S (Megosztott) = A tartozási ülés megosztott hozzáférést kap az erőforráshoz.

U (Frissítés) = Olyan frissítési zárolást jelez, amelyet olyan erőforrásokon szereztek, amelyeket később frissíthetnek. Azért használják, hogy megakadályozzák egy gyakori holtponti állapotot, amely akkor jelentkezik, amikor több munkamenet lezárja az erőforrásokat a jövőbeli frissítések céljából.

X (Exkluzív) = A záró ülés kizárólagos hozzáférést kap az erőforráshoz.

IS (Szándék megosztott) = Jelzi, hogy S zárakat helyeznek el valamilyen alárendelt erőforrásra a zárhierarchiában.

IU (Szándékfrissítés) = Jelzi, hogy U-zárokat helyeznek el valamilyen alárendelt erőforrásra a zárhierarchiában.

IX (Intent Exclusive) = Jelzi a szándékot, hogy X zárat helyezzenek el valamilyen alárendelt erőforrásra a zárhierarchiában.

SIU (Shared Intent Update) = Közös hozzáférést jelöl egy erőforráshoz azzal a céllal, hogy frissítő zárakat szerezzenek a zárhierarchiában lévő alárendelt erőforrásokon.

SIX (Shared Intent Exclusive) = Közös hozzáférést jelöl egy erőforráshoz azzal a céllal, hogy exkluzív zárakat szerezzen alárendelt erőforrásokra a zárhierarchiában.

UIX (Frissítési szándék exclusive) = Egy erőforrás frissítési zár tartását jelzi, amelynek célja kizárólagos zárakat szerez alárendelt erőforrásokra a zárhierarchiában.

BU = Tömeges műveletek során használják.

RangeS_S (Közös Key-Range és megosztott erőforrás-zárolás) = Jelzi a sorozatos hatótávolsági szkennelést.

RangeS_U (Megosztott Key-Range és Frissítési Erőforrás zárolás) = Jelzi, hogy sorozatosítható frissítési szkennelés.

RangeI_N (Insert Key-Range és Null Resource Lock) = A tartományok tesztelésére használják, mielőtt új kulcsot helyeznének be egy indexbe.

RangeI_S = Key-Range Konverziós zár, amelyet és zárak átfedése RangeI_NS hozza létre.

RangeI_U = Key-Range Konverziós zár, amelyet RangeI_N és U zárak átfedése hozza létre.

RangeI_X = Key-Range Konverziós zár, amelyet és zárak átfedése RangeI_NX hozza létre.

RangeX_S = Key-Range Konverziós zár, amelyet és átfedésével RangeI_NRangeS_Shoznak létre. Zárak.

RangeX_U = Key-Range Konverziós zár, amelyet és zárak átfedése RangeI_NRangeS_U hozza létre.

RangeX_X (Exclusive Key-Range és Exclusive Resource lock) = Ez egy konverziós zár, amelyet egy kulcs frissítésekor használnak egy tartományban.
request_type nvarchar(60) Kérelem típusa. Az érték LOCK.
request_status nvarchar(60) A kérelem jelenlegi állapota. A lehetséges értékek a következőkGRANTED: , CONVERTWAIT, LOW_PRIORITY_CONVERT, LOW_PRIORITY_WAITvagy ABORT_BLOCKERS. További információért az alacsony prioritású várakozásokról és megszakítási blokkolókról lásd a (Transact-SQLlow_priority_lock_wait szakaszátALTER INDEX.
request_reference_count smallint Körülbelül annyiszor tér vissza, hányszor kérte ugyanaz a kérő ezt az erőforrást.
request_lifetime int Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
request_session_id int session_id amely jelenleg birtokolja ezt a kérést. A tulajdonlás session_id változhat elosztott és kötött tranzakciók esetén. Az érték -2 azt jelzi, hogy a kérés egy árva elosztott tranzakcióhoz tartozik. A - -3 érték azt jelzi, hogy a kérés egy halasztott helyreállítási tranzakcióhoz tartozik, például egy olyan tranzakcióhoz, amelynek visszaállítását elhalasztották a helyreállításkor, mert a visszafordítást nem sikerült sikeresen végrehajtani.
request_exec_context_id int A folyamat végrehajtási kontextusazonosítója, amely jelenleg birtokolja ezt a kérést.
request_request_id int request_id (tételazonosító) a folyamatban, amely jelenleg birtokolja ezt a kérelmet. Ez az érték minden alkalommal változik, amikor a tranzakcióhoz tartozó aktív Többszörös Aktív Eredményhalmazzat (MARS) kapcsolat megváltozik.
request_owner_type nvarchar(60) Az entitástípus, amely a kérés tulajdonosa. A zárkezelő kéréseket különféle entitások birtokolhatják. A lehetséges értékek a következők:

TRANSACTION = A kérés egy tranzakció tulajdonában van.

CURSOR = A kérés egy kurzor tulajdonában van.

SESSION = A kérés egy felhasználói ülés tulajdonában van.

SHARED_TRANSACTION_WORKSPACE = A kérés a tranzakciós munkaterület megosztott részének tulajdona.

EXCLUSIVE_TRANSACTION_WORKSPACE = A kérés a tranzakciós munkaterület exkluzív részének tulajdona.

NOTIFICATION_OBJECT= A kérés egy belső SQL Server komponens tulajdonában van. Ez az alkatrész kérte a zárkezelőt, hogy értesítse, ha egy másik komponens várja a zár átvételére. A FileTable funkció egy olyan komponens, amely ezt az értéket használja.

Jegyzet: A munkatereket belső szinten használják zárak tartására a tisztségviselő ülésekhez.
request_owner_id bigint A kérelem konkrét tulajdonosának azonosítója.

Ha egy tranzakció a kérés tulajdonosa, ez az érték tartalmazza a tranzakcióazonosítót.

Ha egy FileTable a kérés tulajdonosa, request_owner_id az alábbi értékek egyike van:
request_owner_guid uniqueidentifier A kérelem konkrét tulajdonosának GUID-je. Ezt az értéket csak egy elosztott tranzakció használja, ahol az adott tranzakció MS DTC GUID-jának felel meg.
request_owner_lockspace_id nvarchar(32) Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált. Ez az érték a kérelmező lockspace azonosítóját jelöli. A zárhely azonosítója határozza meg, hogy két kérelmező kompatibilis-e egymással, és engedélyezhetők-e zárolásokat olyan módokban, amelyek egyébként ütköznének egymással.
lock_owner_address varbinary(8) A belső adatstruktúra memóriacíme, amelyet a kérés nyomon követésére használnak. Ez az oszlop összekapcsolható az resource_address oszloppal .sys.dm_os_waiting_tasks
pdw_node_id int Annak a csomópontnak az azonosítója, amelyen ez a disztribúció található.

A következővonatkozik: Azure Synapse Analytics, Analytics Platform System (PDW)

Permissions

SQL Server és SQL Managed Instance sys.dm_tran_locks esetén engedély szükségesVIEW SERVER STATE.

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.

Az SQL analytics endpoint és a Warehouse Microsoft Fabric-ben a Viewer munkaterületi szerepben való tagság a minimális jogosultság, amely szükséges a megtekintéshezsys.dm_tran_locks.

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

Az SQL Server 2022 és újabb verziókban sys.dm_tran_locks engedélyt igényel VIEW SERVER PERFORMANCE STATE a szerveren.

Megjegyzések

A megadott kérés státusz azt jelzi, hogy egy erőforrásra zárást engedélyeztek a kérelmezőnek. A várakozó kérelem azt jelzi, hogy a kérést még nem teljesítették. A következő várakozó kéréstípusokat az request_status oszlop adja vissza:

  • A konvertáló kérés státusza azt jelzi, hogy a kérő már kapott kérelmet az erőforrásra, és jelenleg várja az eredeti kérés frissítését.

  • A várakozási kérelmek státusza azt jelzi, hogy a kérelmező jelenleg nem tart fenn egy engedélyezett kérést az erőforráson.

Mivel sys.dm_tran_locks belső zárkezelő adatstruktúrákból áll, az információk fenntartása nem növel további költséget a rendszeres feldolgozásra. A nézet megvalósításához hozzáférés szükséges a zárkezelő belső adatstruktúráihoz. Ez kisebb hatással lehet a szerver rendszeres feldolgozására. Ezek a hatások észrevehetetlenek lehetnek, és csak a nagy mennyiségű erőforrást érintették. Mivel ebben a nézetben az adatok megfelelnek az élő zárkezelő állapotnak, az adatok bármikor változhatnak, és a sorokat hozzáadják és távolítják el, ahogy a zárakat megszerzik és feloldják. Az ilyen nézetet igénylő alkalmazások kiszámíthatatlan teljesítményt tapasztalhatnak a zárkezelő struktúrák integritásának védelme miatt. Ez a nézet nem tartalmaz történelmi információkat.

Két kérés ugyanazon erőforráson csak akkor működik, ha az összes erőforrás-csoport oszlop egyenlő.

Az olvasási műveletek zárolását az alábbi eszközökkel lehet szabályozni:

  • SET TRANSACTION ISOLATION LEVEL hogy meghatározzák a zárolási szintet egy ülésre. További információ: SET TRANSACTION ISOLATION LEVEL (Transact-SQL).

  • A zárolási tábla arra utal, hogy meghatározzák a zárolási szintet egy táblázat egyes hivatkozása esetén egy FROM klauzulában. Szintaxisért és korlátozásokról lásd Táblázat Tippek (Transact-SQL) című szakaszt.

Egy erőforrás, amely egy alatt session_id fut, több engedélyezett zárolást is kaphat. Különböző entitások, amelyek egy ülés alatt futnak, mindegyik zárolással rendelkezik ugyanazon erőforráson, és az információk az request_owner_type és request_owner_id oszlopokban jelennek meg, amelyeket a visszaküld.sys.dm_tran_locks Ha több példány is létezik ugyanabból request_owner_type , az oszlopot request_owner_id használják az egyes példányok megkülönböztetésére. Elosztott tranzakciók esetén a request_owner_type és oszlopok request_owner_guid a különböző entitásinformációk megjelenítését mutatják.

Például az S1 ülés megosztott zárolással rendelkezik ; Table1és a T1 tranzakció, amely az S1 alatt fut, szintén megosztott zárolást birtokol .Table1 Ebben az esetben az resource_description általa visszaadott sys.dm_tran_locks oszlop két példányt mutat ugyanannak az erőforrásnak. Az request_owner_type oszlop az egyik példányt sessionként, a másikat tranzakcióként mutatja. Az oszlopnak resource_owner_id is más értékei vannak.

Több kurzor, amely egy ülés alatt fut, megkülönböztethetetlen, és egyetlen entitásként kezelik őket.

Az olyan elosztott tranzakciók, amelyek nem kapcsolódtak egy session_id értékhez, árva tranzakciók, és az session_id értéket rendelik hozzájuk.-2 További információ: KILL (Transact-SQL).

Locks

Zárakat az SQL Server erőforrásain, például a tranzakció során olvasott vagy módosított sorokon tartanak, hogy megakadályozzák a különböző tranzakciók egyidejű erőforrás-használatát. Például, ha egy exkluzív (X) zárat tart egy táblázat sorában egy tranzakció által, más tranzakció nem módosíthatja azt a sort, amíg a zár fel nem oldódik. A zárak minimalizálása növeli az egyidejű egyidejű hatást, ami javíthatja a teljesítményt.

Erőforrás részletei

Az alábbi táblázat felsorolja az oszlopban szereplő erőforrásokat resource_associated_entity_id .

Erőforrás típusa Erőforrás leírása resource_associated_entity_id
DATABASE Egy adatbázist képvisel. Nem alkalmazható
FILE Egy adatbázis-fájlt képvisel. Ez a fájl lehet adatfájl vagy naplófájl. Nem alkalmazható
OBJECT Egy objektumot képvisel egy adatbázisban. Ez az objektum lehet adattábla, nézet, tárolt eljárás, kiterjesztett tárolt eljárás vagy bármilyen objektum, amelynek objektumazonosítója van. Objektumazonosító
PAGE Egy adatfájl egyetlen oldalát képviseli. HoBt AZONOSÍTÓ. Ez az érték megfelel .sys.partitions.hobt_id Az HoBt ID nem mindig elérhető a PAGE erőforrások számára, mert az HoBt ID extra információ, amit a hívó megadhat, és nem minden hívó tudja megadni ezt az információt.
KEY Egy sor az indexben. HoBt AZONOSÍTÓ. Ez az érték megfelel .sys.partitions.hobt_id
EXTENT Adatfájl kiterjedését képviseli. Az A Extent nyolc egymást követő oldalból álló csoport. Nem alkalmazható
RID Egy fizikai sort egy halomban jelképezi. HoBt AZONOSÍTÓ. Ez az érték megfelel .sys.partitions.hobt_id Az HoBt ID nem mindig elérhető RID erőforrások számára, mert az HoBt ID extra információ, amit a hívó megadhat, és nem minden hívó tudja megadni ezt az információt.
APPLICATION Egy alkalmazásban meghatározott erőforrást képvisel. Nem alkalmazható
METADATA A metaadat-információkat képviseli. Nem alkalmazható
HOBT Egy halmot vagy B-fát képvisel. Ezek az alapvető bejárati szerkezetek. HoBt AZONOSÍTÓ. Ez az érték megfelel .sys.partitions.hobt_id
OIB Az online index (újra)építést jelenti. HoBt AZONOSÍTÓ. Ez az érték megfelel .sys.partitions.hobt_id
ALLOCATION_UNIT Egy kapcsolódó oldalak halmazát képviseli, például egy indexpartíciót. Minden allokációs egység egyetlen Index Allocation Map (IAM) láncot fed le. Elosztási egység azonosító. Ez az érték megfelel .sys.allocation_units.allocation_unit_id
ROW_GROUP Egy oszloptároló sorcsoportot képvisel.
XACT Egy tranzakciót képvisel. Akkor fordul elő, ha az optimalizált zárolás be van kapcsolva. Két forgatókönyv létezik:

1. szcenárió (tulajdonos)
- Erőforrás típus: XACT.
- Erőforrás leírása: Amikor zárat TID tartunk, az resource_descriptionXACT az erőforrás.
- Erőforráshoz kötött entitás azonosító: resource_associated_entity_id 0.

2. forgatókönyv (pincér)
- Erőforrás típus: XACT.
- Erőforrás leírása: Amikor egy kérés TID zárolására vár, az resource_descriptionXACT az erőforrás, amelyet az alapforrás KEY vagy RID az erőforrás követ.
- Az erőforráshoz kapcsolódó entitás azonosítója: resource_associated_entity_id az alap HoBt azonosító.

Note

A dokumentáció általában a B-fa kifejezést használja az indexekre hivatkozva. A sorkataszterekben az adatbázismotor egy B+ fát implementál. Ez nem vonatkozik az oszlopcentrikus indexekre vagy a memóriaoptimalizált táblák indexére. További információ: SQL Server és Azure SQL index architektúrája és tervezési útmutatója.

Az alábbi táblázat felsorolja az egyes erőforrástípusokhoz tartozó altípusokat.

ResourceSubType Szinkronizálja
ALLOCATION_UNIT.BULK_OPERATION_PAGE Előre kijelölt oldalak, amelyeket tömeges műveletekhez használnak.
ALLOCATION_UNIT.PAGE_COUNT Az allokációs egység oldalszám statisztikai a halasztott ledobási műveletek során.
DATABASE.BULKOP_BACKUP_DB Adatbázis-mentések tömeges műveletekkel.
DATABASE.BULKOP_BACKUP_LOG Adatbázisnapló mentések tömeges műveletekkel.
DATABASE.CHANGE_TRACKING_CLEANUP Változtasd meg a nyomkövetési takarítási feladatokat.
DATABASE.CT_DDL Adatbázis- és táblázatszintű változáskövetés DDL műveletek.
DATABASE.CONVERSATION_PRIORITY Szolgáltatási bróker beszélgetési prioritási műveletek, mint CREATE BROKER PRIORITYpéldául .
DATABASE.DDL Adatdefiníciós nyelvi (DDL) műveletek fájlcsoportos műveletekkel, például dropolással.
DATABASE.ENCRYPTION_SCAN TDE titkosítás szinkronizáció.
DATABASE.PLANGUIDE Terv útmutató szinkronizálása.
DATABASE.RESOURCE_GOVERNOR_DDL DDL műveletek erőforrás-irányító műveletekhez, mint ALTER RESOURCE POOLpéldául .
DATABASE.SHRINK Adatbázis zsugorítási műveletek.
DATABASE.STARTUP Adatbázis indítási szinkronizációra használják.
FILE.SHRINK Fájlcsökkentő műveletek.
HOBT.BULK_OPERATION A halomoptimalizált tömeges terhelési műveletek párhuzamos vizsgálattal, ezeken az izolációs szintek alatt: snapshot, olvasás elkötelezett és olvasás elkötelezett sorverziózással.
HOBT.INDEX_REORGANIZE A halom vagy index átszervezési műveletek.
OBJECT.COMPILE Tárolt eljárás fordítása.
OBJECT.INDEX_OPERATION Index műveletek.
OBJECT.UPDSTATS Statisztikák frissülnek egy táblázaton.
METADATA.ASSEMBLY Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.ASSEMBLY_CLR_NAME Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.ASSEMBLY_TOKEN Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.ASYMMETRIC_KEY Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.AUDIT Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.AUDIT_ACTIONS Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.AUDIT_SPECIFICATION Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.AVAILABILITY_GROUP Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.CERTIFICATE Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.CHILD_INSTANCE Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.COMPRESSED_FRAGMENT Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.COMPRESSED_ROWSET Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.CONVERSTATION_ENDPOINT_RECV Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.CONVERSTATION_ENDPOINT_SEND Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.CONVERSATION_GROUP Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.CONVERSATION_PRIORITY Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.CREDENTIAL Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.CRYPTOGRAPHIC_PROVIDER Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.DATA_SPACE Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.DATABASE Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.DATABASE_PRINCIPAL Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.DB_MIRRORING_SESSION Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.DB_MIRRORING_WITNESS Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.DB_PRINCIPAL_SID Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.ENDPOINT Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.ENDPOINT_WEBMETHOD Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.EXPR_COLUMN Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.EXPR_HASH Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.FULLTEXT_CATALOG Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.FULLTEXT_INDEX Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.FULLTEXT_STOPLIST Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.INDEX_EXTENSION_SCHEME Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.INDEXSTATS Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.INSTANTIATED_TYPE_HASH Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.MESSAGE Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.METADATA_CACHE Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.PARTITION_FUNCTION Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.PASSWORD_POLICY Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.PERMISSIONS Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.PLAN_GUIDE Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.PLAN_GUIDE_HASH Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.PLAN_GUIDE_SCOPE Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.QNAME Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.QNAME_HASH Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.REMOTE_SERVICE_BINDING Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.ROUTE Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.SCHEMA Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.SECURITY_CACHE Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.SECURITY_DESCRIPTOR Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.SEQUENCE Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.SERVER_EVENT_SESSIONS Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.SERVER_PRINCIPAL Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.SERVICE Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.SERVICE_BROKER_GUID Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.SERVICE_CONTRACT Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.SERVICE_MESSAGE_TYPE Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.STATS Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.SYMMETRIC_KEY Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.USER_TYPE Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.XML_COLLECTION Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.XML_COMPONENT Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.XML_INDEX_QNAME Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.

Az alábbi táblázat tartalmazza resource_description az oszlop formátumát minden erőforrástípushoz.

Erőforrás Format Description
DATABASE Nem alkalmazható Az adatbázis azonosítója már elérhető az resource_database_id oszlopban.
FILE <file_id> Az adott fájl azonosítója, amelyet ez az erőforrás képvisel.
OBJECT <object_id> Az objektum azonosítója, amelyet ez az erőforrás képvisel. Ez az objektum lehet bármely objektum, amely a -ben sys.objectsszerepel, nem csupán egy tábla.
PAGE <file_id>:<page_in_file> Az oldal fájlját és oldalazonosítóját képviseli, amelyet ez az erőforrás képvisel.
KEY <hash_value> A kulcsoszlopok hash-ét képviseli abban a sorban, amelyet ez az erőforrás képvisel.
EXTENT <file_id>:<page_in_files> A fájl és oldalazonosító azonosítóját jelenti, amely azt mutatja, hogy mennyit képvisel ez az erőforrás. Az ulatus azonosítója megegyezik az első oldal oldalazonosítójával a terjedelemben.
RID <file_id>:<page_in_file>:<row_on_page> A sor oldalazonosítóját és sorazonosítóját képviseli, amelyet ez az erőforrás képvisel. Ha a kapcsolódó objektumazonosító 99, ez az erőforrás az IAM lánc első IAM oldalán található nyolc vegyes oldalhely egyikét képviseli.
APPLICATION <DbPrincipalId>:<up to 32 characters>:(<hash_value>) Az adatbázis alap azonosítóját képviseli, amelyet az alkalmazás-zároló erőforrás scoping-olásához használnak. Továbbá legfeljebb 32 karakter is szerepel az erőforrás-stringből, amely ennek az alkalmazás-zároló erőforrásnak felel meg. Bizonyos esetekben csak két karakter jeleníthető meg, mivel a teljes string már nem elérhető. Ez a viselkedés csak az adatbázis-helyreállítás idején fordul elő az alkalmazászáraknál, amelyeket a helyreállítási folyamat részeként újra szereznek. A hash érték a teljes erőforrás-string hash-jét jelenti, amely megfelel ennek az alkalmazászár erőforrásnak.
HOBT Nem alkalmazható HoBt Az azonosító a resource_associated_entity_id.
ALLOCATION_UNIT Nem alkalmazható Az allokációs egységazonosító a resource_associated_entity_id.
XACT <dbid>:<XdesId low>:<XdesId high> A TID (tranzakcióazonosító) erőforrás. Akkor fordul elő, ha az optimalizált zárolás be van kapcsolva.
XACT KEY [XACT <dbid>:<XdesId low>:<XdesId High>] KEY (<hash_value>) Az a mögöttes erőforrás, amelyre a tranzakció vár, egy indexobjektummal KEY . Akkor fordul elő, ha az optimalizált zárolás be van kapcsolva.
XACT RID [XACT <dbid>:<XdesId low>:<XdesId High>] RID (<file_id>:<page_in_file>:<row_on_page>) Az a mögöttes erőforrás, amelyre a tranzakció vár, egy halom RID objektummal. Akkor fordul elő, ha az optimalizált zárolás be van kapcsolva.
METADATA.ASSEMBLY assembly_id = A Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.ASSEMBLY_CLR_NAME $qname_id = Q Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.ASSEMBLY_TOKEN assembly_id = A, $token_id Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.ASSYMMETRIC_KEY asymmetric_key_id = A Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.AUDIT audit_id = A Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.AUDIT_ACTIONS device_id = D, major_id = M Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.AUDIT_SPECIFICATION audit_specification_id = A Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.AVAILABILITY_GROUP availability_group_id = A Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.CERTIFICATE certificate_id = C Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.CHILD_INSTANCE $hash = H1:H2:H3 Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.COMPRESSED_FRAGMENT object_id = O , compressed_fragment_id = C Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.COMPRESSED_ROW object_id = O Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.CONVERSTATION_ENDPOINT_RECV $hash = H1:H2:H3 Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.CONVERSTATION_ENDPOINT_SEND $hash = H1:H2:H3 Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.CONVERSATION_GROUP $hash = H1:H2:H3 Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.CONVERSATION_PRIORITY conversation_priority_id = C Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.CREDENTIAL credential_id = C Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.CRYPTOGRAPHIC_PROVIDER provider_id = P Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.DATA_SPACE data_space_id = D Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.DATABASE database_id = D Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.DATABASE_PRINCIPAL principal_id = P Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.DB_MIRRORING_SESSION database_id = D Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.DB_MIRRORING_WITNESS $hash = H1:H2:H3 Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.DB_PRINCIPAL_SID $hash = H1:H2:H3 Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.ENDPOINT endpoint_id = E Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.ENDPOINT_WEBMETHOD $hash = H1:H2:H3 Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.FULLTEXT_CATALOG fulltext_catalog_id = F Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.FULLTEXT_INDEX object_id = O Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.EXPR_COLUMN object_id = O, column_id = C Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.EXPR_HASH object_id = O, $hash = H Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.FULLTEXT_CATALOG fulltext_catalog_id = F Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.FULLTEXT_INDEX object_id = O Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.FULLTEXT_STOPLIST fulltext_stoplist_id = F Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.INDEX_EXTENSION_SCHEME index_extension_id = I Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.INDEXSTATS object_id = O, index_id vagy stats_id = I Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.INSTANTIATED_TYPE_HASH user_type_id = U, hash = H Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.MESSAGE message_id = M Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.METADATA_CACHE $hash = H1:H2:H3 Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.PARTITION_FUNCTION function_id = F Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.PASSWORD_POLICY principal_id = P Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.PERMISSIONS class = C Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.PLAN_GUIDE plan_guide_id = P Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.PLAN_GUIDE_HASH $hash = H1:H2:H3 Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.PLAN_GUIDE_SCOPE scope_id = S Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.QNAME $qname_id = Q Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.QNAME_HASH $qname_scope_id = Q, $qname_hash = H Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.REMOTE_SERVICE_BINDING remote_service_binding_id = R Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.ROUTE route_id = R Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.SCHEMA schema_id = S Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.SECURITY_CACHE $hash = H1:H2:H3 Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.SECURITY_DESCRIPTOR sd_id = S Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.SEQUENCE $seq_type = S, object_id = O Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.SERVER server_id = S Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.SERVER_EVENT_SESSIONS event_session_id = E Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.SERVER_PRINCIPAL principal_id = P Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.SERVICE service_id = S Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.SERVICE_BROKER_GUID $hash = H1:H2:H3 Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.SERVICE_CONTRACT service_contract_id = S Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.SERVICE_MESSAGE_TYPE message_type_id = M Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.STATS object_id = O, stats_id = S Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.SYMMETRIC_KEY symmetric_key_id = S Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.USER_TYPE user_type_id = U Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.XML_COLLECTION xml_collection_id = X Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.XML_COMPONENT xml_component_id = X Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.
METADATA.XML_INDEX_QNAME object_id = O, $qname_id = Q Csak tájékoztatási célokra van meghatározva. Nem támogatott. A jövőbeli kompatibilitás nem garantált.

Examples

A. Használd sys.dm_tran_locks más eszközökkel együtt

A következő példa olyan helyzetben működik, amikor egy frissítési műveletet egy másik tranzakció blokkol. Más eszközök használatával sys.dm_tran_locks információkat kapunk a zárolási erőforrásokról.

USE tempdb;
GO

-- Create test table and index.
CREATE TABLE t_lock
    (
    c1 int, c2 int
    );
GO

CREATE INDEX t_lock_ci on t_lock(c1);
GO

-- Insert values into test table
INSERT INTO t_lock VALUES (1, 1);
INSERT INTO t_lock VALUES (2, 2);
INSERT INTO t_lock VALUES (3, 3);
INSERT INTO t_lock VALUES (4, 4);
INSERT INTO t_lock VALUES (5, 5);
INSERT INTO t_lock VALUES (6, 6);
GO

-- Session 1
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;

BEGIN TRAN
    SELECT c1
        FROM t_lock
        WITH(holdlock, rowlock);

-- Session 2
BEGIN TRAN
    UPDATE t_lock SET c1 = 10;

A következő lekérdezés a zár adatait jeleníti meg. Az értéket a <dbid> -database_idtől kell helyettesítenisys.databases.

SELECT resource_type, resource_associated_entity_id,
    request_status, request_mode,request_session_id,
    resource_description
    FROM sys.dm_tran_locks
    WHERE resource_database_id = <dbid>;

A következő lekérdezés az előző lekérdezés alapján adja vissza az objektum információit resource_associated_entity_id . Ezt a lekérdezést akkor kell végrehajtani, amikor az objektumot tartalmazó adatbázishoz vagy csatlakoztatva.

SELECT object_name(object_id), *
    FROM sys.partitions
    WHERE hobt_id=<resource_associated_entity_id> ;

A következő lekérdezés blokkolási információkat mutat.

SELECT
    t1.resource_type,
    t1.resource_database_id,
    t1.resource_associated_entity_id,
    t1.request_mode,
    t1.request_session_id,
    t2.blocking_session_id
FROM sys.dm_tran_locks as t1
INNER JOIN sys.dm_os_waiting_tasks as t2
    ON t1.lock_owner_address = t2.resource_address;

Szabadítsd fel az erőforrásokat a tranzakciók visszafordításával a tranzakciókkal.

-- Session 1
ROLLBACK;
GO

-- Session 2
ROLLBACK;
GO

Az alábbi példa olyan információkat ad vissza, amely az a-t session_id egy Windows szálazonosítóval társítja. A szál teljesítménye a Windows Performance Monitorban figyelhető. Ez a lekérdezés nem ad vissza olyan üzenetet session_id , amely éppen alvóban van.

SELECT STasks.session_id, SThreads.os_thread_id
FROM sys.dm_os_tasks AS STasks
INNER JOIN sys.dm_os_threads AS SThreads
    ON STasks.worker_address = SThreads.worker_address
WHERE STasks.session_id IS NOT NULL
ORDER BY STasks.session_id;
GO