Delen via


sys.dm_tran_locks (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Magazijn in Microsoft FabricSQL-database in Microsoft Fabric

Geeft informatie terug over momenteel actieve lock manager-resources in SQL Server. Elke rij vertegenwoordigt een momenteel actief verzoek aan de lockmanager voor een slot dat is toegekend of wacht om toegekend te worden.

De kolommen in de resultaatset zijn verdeeld in twee hoofdgroepen: resource en request. De resourcegroep beschrijft de resource waarop het lock-verzoek wordt gedaan, en de request-groep beschrijft het lock-request.

Opmerking

Gebruik de naam sys.dm_pdw_nodes_tran_locksom dit aan te roepen vanuit Azure Synapse Analytics of Analytics Platform System (PDW). Deze syntaxis wordt niet ondersteund door een serverloze SQL-pool in Azure Synapse Analytics.

Kolomnaam Gegevenstype Description
resource_type nvarchar(60) Geeft het type hulpbron aan. De waarde kan zijn:

DATABASE

BESTAND

OBJECT

PAGE

SLEUTEL

MATE

RID (Rij-ID)

TOEPASSING

METADATA

HOBT (Heap of B-boom)

ALLOCATION_UNIT

XACT (Transactie)

OIB (Online indexbouw)

ROW_GROUP
resource_subtype nvarchar(60) Vertegenwoordigt een subtype van resource_type. Het verkrijgen van een subtype-lock zonder een niet-subtype-lock van het oudertype te bezitten is technisch geldig. Verschillende subtypes conflicteren niet met elkaar of met het niet-subtypede oudertype. Niet alle resourcetypes hebben subtypes.
resource_database_id int ID van de database waaronder deze bron is opgenomen. Alle resources die door de lock manager worden behandeld, worden beperkt door de database-ID.
resource_description nvarchar(256) Beschrijving van de bron die alleen informatie bevat die niet beschikbaar is uit andere resourcekolommen.
resource_associated_entity_id bigint ID van de entiteit in een database waaraan een bron is gekoppeld. Dit kan een object-ID, HOBT ID of een Allocation Unit ID zijn, afhankelijk van het type hulpbron.
resource_lock_partition Int ID van de slotpartitie voor een gepartitioneerde lockresource. De waarde voor niet-gepartitioneerde lockresources is 0.
request_mode nvarchar(60) Modus van het verzoek. Voor gegeven verzoeken is dit de toegestane modus; Voor wachtverzoeken is dit de modus die wordt aangevraagd.

NULL = Er wordt geen toegang verleend tot de bron. Dient als tijdelijke vervanger.

Sch-S (Schemastabiliteit) = Zorgt ervoor dat een schema-element, zoals een tabel of index, niet wordt weggelaten zolang een sessie een schema-stabiliteitslock op het schema-element heeft.

Sch-M (Schema-aanpassing) = Moet worden vastgehouden door elke sessie die het schema van de opgegeven bron wil wijzigen. Zorgt ervoor dat geen andere sessies naar het aangegeven object verwijzen.

S (Gedeeld) = De houdsessie krijgt gedeelde toegang tot de bron.

U (Update) = Geeft een update-lock aan die is verkregen op resources die uiteindelijk mogelijk worden bijgewerkt. Het wordt gebruikt om een veelvoorkomende vorm van deadlock te voorkomen die optreedt wanneer meerdere sessies resources blokkeren voor mogelijke toekomstige updates.

X (Exclusief) = De houdsessie krijgt exclusieve toegang tot de bron.

IS (Intent Shared) = Geeft de intentie aan om S-locks te plaatsen op een ondergeschikte resource in de lockhiërarchie.

IU (Intent Update) = Geeft de intentie aan om U-locks te plaatsen op een ondergeschikte resource in de lockhiërarchie.

IX (Intent Exclusive) = Geeft de intentie aan om X locks te plaatsen op een ondergeschikte resource in de lockhiërarchie.

SIU (Shared Intent Update) = Geeft gedeelde toegang aan tot een resource met de bedoeling om update-locks te verwerven op ondergeschikte resources in de lockhiërarchie.

SIX (Shared Intent Exclusive) = Geeft gedeelde toegang tot een resource aan met de intentie exclusieve locks te verwerven op ondergeschikte resources in de lockhiërarchie.

UIX (Update Intent Exclusive) = Geeft een update lock hold aan op een resource met de bedoeling exclusieve locks te verkrijgen op ondergeschikte resources in de lockhiërarchie.

BU = Gebruikt door bulkoperaties.

RangeS_S (Shared Key-Range and Shared Resource lock) = Geeft serialiseerbare bereikscan aan.

RangeS_U (Shared Key-Range en Update Resource lock) = Geeft serialiseerbare update-scan aan.

RangeI_N (Insert Key-Range and Null Resource Lock) = Gebruikt om bereiken te testen voordat een nieuwe sleutel in een index wordt geplaatst.

RangeI_S = Key-Range Conversieslot, gecreëerd door een overlap van RangeI_N- en S-sloten.

RangeI_U = Key-Range Conversieslot, gecreëerd door een overlap van RangeI_N- en U-vergrendelingen.

RangeI_X = Key-Range Conversielock, gecreëerd door een overlap van RangeI_N- en X-locks.

RangeX_S = Key-Range Conversieslot, gecreëerd door een overlap van RangeI_N en RangeS_S. Sloten.

RangeX_U = Key-Range Conversieslot, gecreëerd door een overlap van RangeI_N en RangeS_U sloten.

RangeX_X (Exclusieve Key-Range en Exclusieve Resource lock) = Dit is een conversieslot dat wordt gebruikt bij het bijwerken van een sleutel in een bereik.
request_type nvarchar(60) Aanvraagtype. De waarde is LOCK.
request_status nvarchar(60) Huidige status van dit verzoek. Mogelijke waarden zijn GRANTED, CONVERT, WAIT, LOW_PRIORITY_CONVERT, LOW_PRIORITY_WAIT of ABORT_BLOCKERS. Voor meer informatie over wachttijden met lage prioriteit en abortblokkers, zie de sectie low_priority_lock_wait van ALTER INDEX (Transact-SQL).
request_reference_count smallint Geeft een ongeveer aantal keren dat dezelfde aanvrager deze bron heeft aangevraagd.
request_lifetime int Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
request_session_id int session_id die momenteel eigenaar is van dit verzoek. Het eigendom session_id kan veranderen voor gedistribueerde en gebonden transacties. Een waarde van -2 geeft aan dat het verzoek behoort tot een verweesde gedistribueerde transactie. Een waarde van -3 geeft aan dat het verzoek behoort tot een uitgestelde hersteltransactie, zoals een transactie waarvoor een rollback bij herstel is uitgesteld omdat de rollback niet succesvol kon worden uitgevoerd.
request_exec_context_id int Uitvoeringscontext-ID van het proces dat momenteel eigenaar is van dit verzoek.
request_request_id int request_id (batch-ID) van het proces dat momenteel eigenaar is van dit verzoek. Deze waarde verandert elke keer dat de actieve Multiple Active Result Set (MARS)-verbinding voor een transactie verandert.
request_owner_type nvarchar(60) Entiteitstype dat eigenaar is van het verzoek. Lockmanager-verzoeken kunnen eigendom zijn van verschillende entiteiten. Mogelijke waarden zijn:

TRANSACTIE = Het verzoek is eigendom van een transactie.

CURSOR = Het verzoek is eigendom van een cursor.

SESSION = Het verzoek is eigendom van een gebruikerssessie.

SHARED_TRANSACTION_WORKSPACE = Het verzoek is eigendom van het gedeelde deel van de transactiewerkruimte.

EXCLUSIVE_TRANSACTION_WORKSPACE = Het verzoek is eigendom van het exclusieve deel van de transactiewerkruimte.

NOTIFICATION_OBJECT = Het verzoek is eigendom van een interne SQL Server-component. Deze component heeft de lockmanager gevraagd hem te waarschuwen wanneer een andere component wacht om de lock te nemen. De FileTable-functie is een component die deze waarde gebruikt.

Notitie: Werkruimtes worden intern gebruikt om sloten vast te houden voor sessies van manschappen.
request_owner_id bigint ID van de specifieke eigenaar van dit verzoek.

Wanneer een transactie de eigenaar is van het verzoek, bevat deze waarde de transactie-ID.

Wanneer een FileTable de eigenaar is van het verzoek, request_owner_id heeft deze een van de volgende waarden:
  • -4 : Een FileTable heeft een databasevergrendeling gekregen.
  • -3 : Een FileTable heeft een table lock genomen.
  • Overige waarde : De waarde vertegenwoordigt een bestandshandvat. Deze waarde verschijnt ook als fcb_id in de dynamische beheerweergave sys.dm_filestream_non_transacted_handles (Transact-SQL).
request_owner_guid uniqueidentifier GUID van de specifieke eigenaar van dit verzoek. Deze waarde wordt alleen gebruikt door een gedistribueerde transactie waarbij de waarde overeenkomt met de MS DTC GUID voor die transactie.
request_owner_lockspace_id nvarchar(32) Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd. Deze waarde vertegenwoordigt de lockspace-ID van de aanvrager. De lockspace-ID bepaalt of twee aanvragers compatibel zijn en kan locks worden toegekend in modi die anders met elkaar zouden conflicteren.
lock_owner_address varbinary(8) Het geheugenadres van de interne datastructuur die wordt gebruikt om dit verzoek te volgen. Deze kolom kan worden gekoppeld aan de kolom met resource_addresssys.dm_os_waiting_tasksin .
pdw_node_id int van toepassing op: Azure Synapse Analytics, Analytics Platform System (PDW)

De id voor het knooppunt waarop deze distributie zich bevindt.

Permissions

Voor SQL Server en SQL Managed Instance is een machtiging vereist VIEW SERVER STATE .

Voor servicedoelstellingen van SQL Database Basic, S0 en S1 en voor databases in elastische pools is het serverbeheerdersaccount , het Microsoft Entra-beheerdersaccount of het lidmaatschap van de ##MS_ServerStateReader##serverrol vereist. Voor alle andere SQL Database-servicedoelstellingen is de VIEW DATABASE STATE machtiging voor de database of het lidmaatschap van de ##MS_ServerStateReader## serverfunctie vereist.

Machtigingen voor SQL Server 2022 en hoger

Vereist de machtiging PRESTATIESTATUS VAN DE WEERGAVESERVER op de server.

Opmerkingen

Een status van een toegekend verzoek geeft aan dat er een lock is toegekend op een resource aan de requester. Een wachtingsverzoek geeft aan dat het verzoek nog niet is ingewilligd. De volgende typen wachtverzoeken worden door de request_status kolom teruggegeven:

  • Een conversieverzoekstatus geeft aan dat de aanvrager al een verzoek voor de resource heeft gekregen en momenteel wacht op een upgrade van het oorspronkelijke verzoek.

  • Een wachtverzoekstatus geeft aan dat de aanvrager momenteel geen toegekend verzoek op de bron heeft.

Omdat sys.dm_tran_locks het wordt gevuld uit interne slotbeheerders-datastructuren, voegt het bijhouden van deze informatie geen extra overhead toe aan de reguliere verwerking. Het materialiseren van de view vereist toegang tot de interne datastructuren van de lockmanager. Dit kan kleine gevolgen hebben voor de reguliere verwerking in de server. Deze effecten zouden onmerkbaar moeten zijn en alleen zwaar gebruikte grondstoffen moeten treffen. Omdat de gegevens in deze weergave overeenkomen met de status van live lock manager, kunnen de gegevens op elk moment veranderen en worden rijen toegevoegd en verwijderd naarmate sloten worden verkregen en vrijgegeven. Applicaties die deze weergave opvragen, kunnen onvoorspelbare prestaties ervaren vanwege de aard van het beschermen van de integriteit van lockmanagerstructuren. Deze visie heeft geen historische informatie.

Twee verzoeken werken alleen op dezelfde resource als alle resourcegroepkolommen gelijk zijn.

Je kunt het vergrendelen van leesoperaties regelen met de volgende tools:

  • STEL HET NIVEAU VAN TRANSACTIEISOLATIE IN om het vergrendelingsniveau voor een sessie te specificeren. Zie SET TRANSACTION ISOLATION LEVEL (Transact-SQL)voor meer informatie.

  • De vergrendelingstabel hint om het vergrendelingsniveau te specificeren voor een individuele referentie van een tabel in een FROM-clausule. Voor syntaxis en beperkingen, zie Table Hints (Transact-SQL).

Een resource die onder één session_id draait, kan meer dan één toegekende lock hebben. Verschillende entiteiten die onder één sessie draaien, kunnen elk een lock op dezelfde resource bezitten, en de informatie wordt weergegeven in de request_owner_type en-kolommen request_owner_id die worden teruggegeven door sys.dm_tran_locks. Als er meerdere instanties van dezelfde request_owner_type bestaan, wordt de request_owner_id kolom gebruikt om elke instantie te onderscheiden. Voor gedistribueerde transacties tonen de request_owner_type kolommen en de request_owner_guid kolommen de verschillende entiteitsinformatie.

Bijvoorbeeld, sessie S1 bezit een gedeelde lock op Table1; en transactie T1, die draait onder sessie S1, bezit ook een gedeelde lock op Table1. In dit geval toont de resource_description kolom die wordt teruggegeven door sys.dm_tran_locks twee instanties van dezelfde hulpbron. De request_owner_type kolom toont de ene instantie als een sessie en de andere als een transactie. Ook heeft de resource_owner_id kolom andere waarden.

Meerdere cursors die onder één sessie draaien zijn niet van elkaar te onderscheiden en worden als één entiteit behandeld.

Gedistribueerde transacties die niet aan een session_id waarde gekoppeld zijn, zijn verweesde transacties en krijgen de session_id waarde van -2. Zie KILL (Transact-SQL)voor meer informatie.

Locks

Er worden vergrendelingen op SQL Server-bronnen, zoals rijen die tijdens een transactie worden gelezen of aangepast, om gelijktijdig gebruik van middelen door verschillende transacties te voorkomen. Als bijvoorbeeld een exclusieve (X) lock op een rij binnen een tabel wordt vastgehouden door een transactie, kan geen enkele andere transactie die rij wijzigen totdat de lock wordt vrijgegeven. Het minimaliseren van locks verhoogt de gelijktijdigheid, wat de prestaties kan verbeteren.

Resourcegegevens

De volgende tabel geeft een overzicht van de bronnen die in de resource_associated_entity_id kolom worden weergegeven.

Hulpmiddeltype Resourcebeschrijving resource_associated_entity_id
DATABASE Vertegenwoordigt een database. Niet van toepassing
BESTAND Vertegenwoordigt een databasebestand. Dit bestand kan zowel een databestand als een logbestand zijn. Niet van toepassing
OBJECT Vertegenwoordigt een object in een database. Dit object kan een datatabel, weergave, opgeslagen procedure, uitgebreide opgeslagen procedure of elk object zijn met een object-ID. ObjectID
PAGE Vertegenwoordigt een enkele pagina in een databestand. HoBt ID. Deze waarde komt overeen met sys.partitions.hobt_id. De HoBt ID is niet altijd beschikbaar voor PAGE-bronnen omdat de HoBt ID extra informatie is die door de beller kan worden verstrekt, en niet alle bellers deze informatie kunnen geven.
SLEUTEL Stelt een rij in een index voor. HoBt ID. Deze waarde komt overeen met sys.partitions.hobt_id.
MATE Vertegenwoordigt een databestand-extent. Een omvang is een groep van acht aaneengesloten pagina's. Niet van toepassing
RID Stelt een fysieke rij in een hoop voor. HoBt ID. Deze waarde komt overeen met sys.partitions.hobt_id. De HoBt ID is niet altijd beschikbaar voor RID-bronnen omdat de HoBt ID extra informatie is die door de beller kan worden verstrekt, en niet alle bellers deze informatie kunnen geven.
TOEPASSING Vertegenwoordigt een applicatie-gespecificeerde resource. Niet van toepassing
METADATA Vertegenwoordigt metadata-informatie. Niet van toepassing
HOBT Stelt een heap of een B-boom voor. Dit zijn de basisstructuren van toegangspaden. HoBt ID. Deze waarde komt overeen met sys.partitions.hobt_id.
OIB Vertegenwoordigt online index (her)build. HoBt ID. Deze waarde komt overeen met sys.partitions.hobt_id.
ALLOCATION_UNIT Stelt een verzameling gerelateerde pagina's voor, zoals een indexpartitie. Elke allocatie-eenheid dekt een enkele Index Allocation Map (IAM)-keten. Toewijzingsunit ID. Deze waarde komt overeen met sys.allocation_units.allocation_unit_id.
ROW_GROUP Stelt een columnstore-rijgroep voor.
XACT Vertegenwoordigt een transactie. Treedt op wanneer geoptimaliseerde vergrendeling is ingeschakeld. Er zijn twee scenario's:

Scenario 1 (Eigenaar)
- Grondstoftype: XACT.
- Resource beschrijving: Wanneer een TID-lock wordt vastgehouden, is de resource_description de XACT resource.
- Resource associated entity ID: resource_associated_entity_id is 0.

Scenario 2 (Ober)
- Grondstoftype: XACT.
- Resourcebeschrijving: Wanneer een verzoek wacht op een TID-lock, is de resource_description de resource, XACT gevolgd door de onderliggende KEY of RID resource.
- Resource associated entity ID: resource_associated_entity_id is de onderliggende HoBt ID.

Opmerking

Documentatie maakt gebruik van de term B-tree in het algemeen in verwijzing naar indexen. In rowstore-indexen implementeert de Database Engine een B+ tree. Dit geldt niet voor columnstore-indexen of indexen voor tabellen die zijn geoptimaliseerd voor geheugen. Zie de SQL Server- en Azure SQL-indexarchitectuur en ontwerphandleidingvoor meer informatie.

De volgende tabel geeft een overzicht van de subtypes die aan elk resourcetype zijn gekoppeld.

ResourceSubType Synchroniseert
ALLOCATION_UNIT. BULK_OPERATION_PAGE Vooraf toegewezen pagina's gebruikt voor bulkoperaties.
ALLOCATION_UNIT. PAGE_COUNT Statistieken voor het aantal pagina's van toewijzingsunits tijdens uitgestelde dropoperaties.
DATABANK. BULKOP_BACKUP_DB Database-back-ups met bulkoperaties.
DATABANK. BULKOP_BACKUP_LOG Databaselog-back-ups met bulkoperaties.
DATABANK. CHANGE_TRACKING_CLEANUP Verander de opruimtaken bij het bijhouden.
DATABANK. CT_DDL DDL-operaties op database- en tabelniveau wijzigingen.
DATABANK. CONVERSATION_PRIORITY Service Broker gespreksprioriteitsoperaties zoals CREATE BROKER PRIORITY.
DATABANK. DDL Data Definition Language (DDL) bewerkingen met bestandsgroepoperaties, zoals drop.
DATABANK. ENCRYPTION_SCAN TDE-encryptiesynchronisatie.
DATABANK. PLANGIDS Synchronisatie van de plangids.
DATABANK. RESOURCE_GOVERNOR_DDL DDL-operaties voor resource governor-operaties zoals ALTER RESOURCE POOL.
DATABANK. KRIMPEN Databaseverkleiningsoperaties.
DATABANK. OPSTARTEN Gebruikt voor synchronisatie van database-opstart.
BESTAND. KRIMPEN Bestandsshrink-operaties.
HOBT. BULK_OPERATION Heap-geoptimaliseerde bulkbelastingoperaties met gelijktijdige scan, onder deze isolatieniveaus: snapshot, read uncommitted en read committed met behulp van row versioning.
HOBT. INDEX_REORGANIZE Heap- of indexreorganisatie-operaties.
OBJECT. COMPILEREN Compileer opgeslagen procedure.
OBJECT. INDEX_OPERATION Indexoperaties.
OBJECT. UPDSTATS Statistieken worden bijgewerkt op een tafel.
METADATA. VERGADERING Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. ASSEMBLY_CLR_NAME Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. ASSEMBLY_TOKEN Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. ASYMMETRIC_KEY Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. AUDIT Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. AUDIT_ACTIONS Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. AUDIT_SPECIFICATION Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. AVAILABILITY_GROUP Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. CERTIFICAAT Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. CHILD_INSTANCE Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. COMPRESSED_FRAGMENT Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. COMPRESSED_ROWSET Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. CONVERSTATION_ENDPOINT_RECV Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. CONVERSTATION_ENDPOINT_SEND Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. CONVERSATION_GROUP Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. CONVERSATION_PRIORITY Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. GELOOFSBRIEF Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. CRYPTOGRAPHIC_PROVIDER Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. DATA_SPACE Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. DATABANK Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. DATABASE_PRINCIPAL Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. DB_MIRRORING_SESSION Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. DB_MIRRORING_WITNESS Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. DB_PRINCIPAL_SID Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. EINDPUNT Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. ENDPOINT_WEBMETHOD Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. EXPR_COLUMN Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. EXPR_HASH Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. FULLTEXT_CATALOG Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. FULLTEXT_INDEX Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. FULLTEXT_STOPLIST Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. INDEX_EXTENSION_SCHEME Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. INDEXSTATS Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. INSTANTIATED_TYPE_HASH Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. BERICHT Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. METADATA_CACHE Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. PARTITION_FUNCTION Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. PASSWORD_POLICY Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. MACHTIGINGEN Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. PLAN_GUIDE Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. PLAN_GUIDE_HASH Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. PLAN_GUIDE_SCOPE Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. QNAME Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. QNAME_HASH Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. REMOTE_SERVICE_BINDING Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. ROUTE Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. SCHEMA Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. SECURITY_CACHE Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. SECURITY_DESCRIPTOR Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. VOLGORDE Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. SERVER_EVENT_SESSIONS Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. SERVER_PRINCIPAL Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. DIENST Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. SERVICE_BROKER_GUID Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. SERVICE_CONTRACT Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. SERVICE_MESSAGE_TYPE Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. STATS Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. SYMMETRIC_KEY Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. USER_TYPE Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA.XML_COLLECTIE Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA.XML_COMPONENT Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA.XML_INDEX_QNAME Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.

De volgende tabel geeft het formaat van de resource_description kolom voor elk resourcetype weer.

Hulpbron Formaat Description
DATABASE Niet van toepassing Database-ID is al beschikbaar in de resource_database_id kolom.
BESTAND <file_id> ID van het bestand dat door deze bron wordt weergegeven.
OBJECT <object_id> ID van het object dat door deze bron wordt weergegeven. Dit object kan elk object zijn dat in sys.objectswordt vermeld, niet alleen een tabel.
PAGE <file_id>:<page_in_file> Vertegenwoordigt het bestands- en pagina-ID van de pagina die door deze bron wordt weergegeven.
SLEUTEL <hash_value> Stelt een hash voor van de sleutelkolommen uit de rij die door deze bron wordt weergegeven.
MATE <file_id>:<page_in_files> Geeft de bestands- en pagina-ID weer van de omvang die door deze bron wordt weergegeven. De extent-ID is hetzelfde als de pagina-ID van de eerste pagina in de extent.
RID <file_id>:<page_in_file>:<row_on_page> Geeft de pagina-ID en rij-ID weer van de rij die door deze bron wordt weergegeven. Als de bijbehorende object-ID 99 is, vertegenwoordigt deze bron een van de acht gemengde paginaslots op de eerste IAM-pagina van een IAM-keten.
TOEPASSING <DbPrincipalId>:<up to 32 characters>:(<hash_value>) Vertegenwoordigt de ID van de databaseprincipal die wordt gebruikt voor het scopen van deze applicatielockresource. Ook inbegrepen zijn tot 32 tekens uit de resource string die overeenkomt met deze application lock resource. In bepaalde gevallen kunnen slechts twee tekens worden weergegeven omdat de volledige string niet langer beschikbaar is. Dit gedrag treedt alleen op tijdens databasehersteltijd voor applicatievergrendelingen die als onderdeel van het herstelproces worden heroverd. De hashwaarde vertegenwoordigt een hash van de volledige resource string die overeenkomt met deze applicatievergrendelingsbron.
HOBT Niet van toepassing HoBt ID is inbegrepen als de resource_associated_entity_id.
ALLOCATION_UNIT Niet van toepassing Allocation Unit ID wordt opgenomen als de resource_associated_entity_id.
XACT <dbid>:<XdesId low>:<XdesId high> De TID (transaction ID) resource. Treedt op wanneer geoptimaliseerde vergrendeling is ingeschakeld.
XACT-SLEUTEL [XACT <dbid>:<XdesId low>:<XdesId High>] KEY (<hash_value>) De onderliggende bron waarop de transactie wacht, met een index KEY-object. Treedt op wanneer geoptimaliseerde vergrendeling is ingeschakeld.
XACT RID [XACT <dbid>:<XdesId low>:<XdesId High>] RID (<file_id>:<page_in_file>:<row_on_page>) De onderliggende resource waarop de transactie wacht, met een heap RID-object. Treedt op wanneer geoptimaliseerde vergrendeling is ingeschakeld.
METADATA. VERGADERING assembly_id = A Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. ASSEMBLY_CLR_NAME $qname_id = Q Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. ASSEMBLY_TOKEN assembly_id = A, $token_id Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. ASSYMMETRIC_KEY asymmetric_key_id = A Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. AUDIT audit_id = A Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. AUDIT_ACTIONS device_id = D, major_id = M Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. AUDIT_SPECIFICATION audit_specification_id = A Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. AVAILABILITY_GROUP availability_group_id = A Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. CERTIFICAAT certificate_id = C Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. CHILD_INSTANCE $hash = H1:H2:H3 Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. COMPRESSED_FRAGMENT object_id = O , compressed_fragment_id = C Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. COMPRESSED_ROW object_id = O Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. CONVERSTATION_ENDPOINT_RECV $hash = H1:H2:H3 Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. CONVERSTATION_ENDPOINT_SEND $hash = H1:H2:H3 Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. CONVERSATION_GROUP $hash = H1:H2:H3 Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. CONVERSATION_PRIORITY conversation_priority_id = C Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. GELOOFSBRIEF credential_id = C Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. CRYPTOGRAPHIC_PROVIDER provider_id = P Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. DATA_SPACE data_space_id = D Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. DATABANK database_id = D Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. DATABASE_PRINCIPAL principal_id = P Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. DB_MIRRORING_SESSION database_id = D Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. DB_MIRRORING_WITNESS $hash = H1:H2:H3 Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. DB_PRINCIPAL_SID $hash = H1:H2:H3 Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. EINDPUNT endpoint_id = E Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. ENDPOINT_WEBMETHOD $hash = H1:H2:H3 Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. FULLTEXT_CATALOG fulltext_catalog_id = F Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. FULLTEXT_INDEX object_id = O Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. EXPR_COLUMN object_id = O, column_id = C Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. EXPR_HASH object_id = O, $hash = H Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. FULLTEXT_CATALOG fulltext_catalog_id = F Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. FULLTEXT_INDEX object_id = O Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. FULLTEXT_STOPLIST fulltext_stoplist_id = F Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. INDEX_EXTENSION_SCHEME index_extension_id = I Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. INDEXSTATS object_id = O, index_id of stats_id = I Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. INSTANTIATED_TYPE_HASH user_type_id = U, hash = H Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. BERICHT message_id = M Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. METADATA_CACHE $hash = H1:H2:H3 Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. PARTITION_FUNCTION function_id = F Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. PASSWORD_POLICY principal_id = P Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. MACHTIGINGEN class = C Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. PLAN_GUIDE plan_guide_id = P Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. PLAN_GUIDE_HASH $hash = H1:H2:H3 Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. PLAN_GUIDE_SCOPE scope_id = S Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. QNAME $qname_id = Q Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. QNAME_HASH $qname_scope_id = Q, $qname_hash = H Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. REMOTE_SERVICE_BINDING remote_service_binding_id = R Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. ROUTE route_id = R Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. SCHEMA schema_id = S Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. SECURITY_CACHE $hash = H1:H2:H3 Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. SECURITY_DESCRIPTOR sd_id = S Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. VOLGORDE $seq_type = S, object_id = O Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. SERVER server_id = S Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. SERVER_EVENT_SESSIONS event_session_id = E Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. SERVER_PRINCIPAL principal_id = P Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. DIENST service_id = S Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. SERVICE_BROKER_GUID $hash = H1:H2:H3 Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. SERVICE_CONTRACT service_contract_id = S Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. SERVICE_MESSAGE_TYPE message_type_id = M Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. STATS object_id = O, stats_id = S Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. SYMMETRIC_KEY symmetric_key_id = S Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA. USER_TYPE user_type_id = U Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA.XML_COLLECTIE xml_collection_id = X Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA.XML_COMPONENT xml_component_id = X Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.
METADATA.XML_INDEX_QNAME object_id = O, $qname_id = Q Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.

Voorbeelden

Eén. Gebruik sys.dm_tran_locks met andere hulpmiddelen

Het volgende voorbeeld werkt met een scenario waarin een update-operatie wordt geblokkeerd door een andere transactie. Door gebruik te maken sys.dm_tran_locks van andere hulpmiddelen wordt informatie verstrekt over vergrendelingsbronnen.

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;

De volgende query toont vergrendelingsinformatie. De waarde voor <dbid> moet worden vervangen door de database_id van sys.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>;

De volgende query geeft objectinformatie terug door gebruik te maken resource_associated_entity_id van de vorige query. Deze query moet worden uitgevoerd terwijl je verbonden bent met de database die het object bevat.

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

De volgende query toont blokkeringsinformatie.

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;

Geef de middelen vrij door de transacties terug te draaien.

-- Session 1
ROLLBACK;
GO

-- Session 2
ROLLBACK;
GO

Het volgende voorbeeld geeft informatie die een session_id koppelt aan een Windows-thread-ID. De prestaties van de thread kunnen worden gemonitord in de Windows Performance Monitor. Deze zoekopdracht geeft geen antwoord op een session_id die momenteel in slaap is.

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