Sdílet prostřednictvím


sys.dm_tran_locks (Transact-SQL)

Platí pro:SQL ServerAzure SQL DatabaseSpravovaná instance Azure SQLAzure Synapse AnalyticsPdW (Analytics Platform System)Sklad v Microsoft FabricDatabáze SQL v Microsoft Fabric

Vrací informace o aktuálně aktivních zdrojích správce zámků v SQL Serveru. Každý řádek představuje aktuálně aktivní žádost správci zámků o zámek, který byl udělen nebo čeká na schválení.

Sloupce ve výsledné sadě jsou rozděleny do dvou hlavních skupin: zdroj a požadavek. Skupina zdrojů popisuje zdroj, na kterém je žádost o zámek vykonávána, a skupina požadavků popisuje žádost o zámek.

Poznámka:

K volání z Azure Synapse Analytics nebo systému PDW (Analytics Platform System) použijte název sys.dm_pdw_nodes_tran_locks. Tato syntaxe není podporována bezserverovým fondem SQL ve službě Azure Synapse Analytics.

Název sloupce Datový typ Description
resource_type nvarchar(60) Představuje typ zdroje. Hodnota může být:

DATABASE

SOUBOR

OBJECT

STRANA

KLÍČ

ROZSAH

RID (ID řádku)

APLIKACE

METADATA

HOBT (Heap nebo B-strom)

ALLOCATION_UNIT

XACT (transakce)

OIB (Online sestava indexu)

ROW_GROUP
resource_subtype nvarchar(60) Reprezentuje podtyp .resource_type Získání podtypového zámku bez držení ne-podtypizovaného zámku rodičovského typu je technicky platné. Různé podtypy nejsou v konfliktu mezi sebou ani s ne-podtypovaným rodičovským typem. Ne všechny typy zdrojů mají podtypy.
resource_database_id int ID databáze, pod kterou je tento zdroj zařazen. Všechny zdroje spravované správcem zámků jsou omezeny ID databáze.
resource_description nvarchar(256) Popis zdroje, který obsahuje pouze informace, jež nejsou dostupné z jiných sloupců zdrojů.
resource_associated_entity_id bigint ID entity v databázi, ke které je zdroj přiřazen. Může to být ID objektu, HOBT ID nebo ID alokační jednotky, v závislosti na typu zdroje.
resource_lock_partition Int ID oddílu zámku pro zdroj rozděleného zámku. Hodnota pro nepartitionované zámkové zdroje je .0
request_mode nvarchar(60) Způsob žádosti. Pro samozřejmé žádosti je to udělený režim; Pro čekací požadavky je toto režim, o který žádáme.

NULL = K danému zdroji není udělen žádný přístup. Slouží jako dočasný závazek.

Sch-S (Stabilita schématu) = Zajišťuje, že prvek schématu, jako je tabulka nebo index, nebude vypuštěn, zatímco jakákoli relace drží na tomto prvku schématu uzamčení stability.

Sch-M (Modifikace schématu) = Musí být držen každou relací, která chce změnit schéma daného zdroje. Zajišťuje, že žádné jiné sezení neodkazují na uvedený objekt.

S (sdílené) = Držící relace získává sdílený přístup ke zdroji.

U (Update) = Označuje aktualizační zámek získaný na zdrojích, které mohou být nakonec aktualizovány. Používá se k zabránění běžné formě zablokování, které nastává, když více relací uzamkne zdroje pro případné budoucí aktualizace.

X (Exkluzivní) = Držící relace získává výhradní přístup ke zdroji.

IS (sdílený záměr) = Označuje úmysl umístit S zámků na nějaký podřízený zdroj v hierarchii zámků.

IU (Intent Update) = Označuje záměr umístit U zámky na nějaký podřízený zdroj v hierarchii zámků.

IX (Intent Exclusive) = Označuje záměr umístit X zámků na nějaký podřízený zdroj v hierarchii zámků.

SIU (Shared Intent Update) = Označuje sdílený přístup ke zdroji s cílem získat aktualizační zámky na podřízených zdrojích v hierarchii zámků.

SIX (Shared Intent Exclusive) = Označuje sdílený přístup ke zdroji s cílem získat exkluzivní zámky na podřízených zdrojích v hierarchii zámků.

UIX (Update Intent Exclusive) = Označuje aktualizační zámek na zdroji s cílem získat exkluzivní zámky na podřízených zdrojích v hierarchii zámků.

BU = Používá se pro hromadné operace.

RangeS_S (Sdílený Key-Range a sdílený zámek zdrojů) = Označuje serializovatelný rozsah skenování.

RangeS_U (Sdílený Key-Range a aktualizační zámek zdrojů) = Označuje serializovatelné skenovaní aktualizace.

RangeI_N (Vložit Key-Range a zámek nulového zdroje) = Používá se k testování rozsahů před vložením nového klíče do indexu.

RangeI_S = Key-Range Konverzní zámek, vytvořený překryvem zámků RangeI_N a S.

RangeI_U = Key-Range Konverzní zámek, vytvořený překryvem RangeI_N a U zámků.

RangeI_X = Key-Range Konverzní zámek, vytvořený překryvem zámků RangeI_N a X.

RangeX_S = Key-Range Konverzní zámek, vytvořený překryvem RangeI_N a RangeS_S. zámky.

RangeX_U = Key-Range Konverzní zámek, vytvořený překryvem RangeI_N a RangeS_U zámků.

RangeX_X (Zámek Exclusive Key-Range a Exclusive Resource Lock) = Toto je konverzní zámek používaný při aktualizaci klíče v určitém rozsahu.
request_type nvarchar(60) Typ požadavku. Hodnota je LOCK.
request_status nvarchar(60) Aktuální stav této žádosti. Možné hodnoty jsou GRANTED, CONVERT, WAIT, LOW_PRIORITY_CONVERT, LOW_PRIORITY_WAIT nebo ABORT_BLOCKERS. Pro více informací o čekání s nízkou prioritou a blokátorech přerušení přerušení viz sekce low_priority_lock_waitALTER INDEX (Transact-SQL).
request_reference_count smallint Vrací přibližně početkrát, kolikrát stejný žadatel požadoval tento zdroj.
request_lifetime int Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
request_session_id int session_id Kdo v současnosti tuto žádost vlastní. Vlastnictví session_id se může měnit u distribuovaných a vázaných transakcí. Hodnota označuje -2 , že požadavek patří k osiřelé distribuované transakci. Hodnota označuje -3 , že požadavek patří do odložené obnovovací transakce, například k transakci, u které bylo při obnově odloženo vrácení zpět, protože vrácení nemohlo být úspěšně dokončeno.
request_exec_context_id int ID kontextu provedení procesu, který aktuálně vlastní tento požadavek.
request_request_id int request_id (batch ID) procesu, který aktuálně vlastní tento požadavek. Tato hodnota se mění pokaždé, když se změní aktivní spojení Multiple Active Result Set (MARS) pro transakci.
request_owner_type nvarchar(60) Typ entity, který vlastní požadavek. Požadavky správce zámků mohou vlastnit různé entity. Možné hodnoty:

TRANSACTION = Požadavek patří transakci.

KURZOR = Požadavek vlastní kurzor.

SESSION = Požadavek vlastní uživatelská relace.

SHARED_TRANSACTION_WORKSPACE = Požadavek vlastní sdílená část transakčního pracovního prostoru.

EXCLUSIVE_TRANSACTION_WORKSPACE = Požadavek vlastní výhradní část pracovního prostoru transakce.

NOTIFICATION_OBJECT = Požadavek vlastní interní komponenta SQL Serveru. Tato komponenta požádala správce zámků, aby ji upozornil, když jiná komponenta čeká na převzetí zámku. Funkce FileTable je komponenta, která tuto hodnotu používá.

Poznámka: Pracovní prostory se využívají interně k držení zámků pro poddůstojnické sezení.
request_owner_id bigint Identifikace konkrétního vlastníka této žádosti.

Když je transakce vlastníkem požadavku, tato hodnota obsahuje ID transakce (transaction ID).

Když je FileTable vlastníkem požadavku, request_owner_id má jednu z následujících hodnot:
request_owner_guid uniqueidentifier GUID konkrétního vlastníka této žádosti. Tato hodnota se používá pouze v distribuované transakci, kde hodnota odpovídá MS DTC GUID pro danou transakci.
request_owner_lockspace_id nvarchar(32) Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena. Tato hodnota představuje ID zámkového prostoru žadatele. Lockspace ID určuje, zda jsou dva žadatelé kompatibilní a mohou jim být uděleny zámky v režimech, které by jinak kolidovaly.
lock_owner_address varbinary(8) Paměťová adresa interní datové struktury, která se používá ke sledování tohoto požadavku. Tento sloupec lze spojit s sloupcem s v resource_addresssys.dm_os_waiting_tasks.
pdw_node_id int platí pro: Azure Synapse Analytics, Analytics Platform System (PDW)

Identifikátor uzlu, na který je tato distribuce zapnutá.

Povolení

Na SQL Serveru a službě SQL Managed Instance vyžaduje VIEW SERVER STATE oprávnění.

U cílů služby SQL Database Basic, S0 a S1 a pro databáze v elastických fondech se vyžaduje účet správce serveru , účet správce Microsoft Entra nebo členství v ##MS_ServerStateReader##roli serveru . U všech ostatních cílů VIEW DATABASE STATE služby SQL Database se vyžaduje buď oprávnění k databázi, nebo členství v ##MS_ServerStateReader## roli serveru.

Oprávnění pro SQL Server 2022 a novější

Vyžaduje oprávnění ZOBRAZIT STAV VÝKONU SERVERU na serveru.

Poznámky

Status schválené žádosti znamená, že žadatel má udělený zámek na zdroj. Žádost o čekání znamená, že žádost ještě nebyla schválena. Sloupec request_status vrací následující typy požadavků na čekání:

  • Stav požadavku pro konverzi znamená, že žadatel již obdržel žádost o zdroj a momentálně čeká na schválení upgradu na původní požadavek.

  • Stav čekací žádosti znamená, že žadatel momentálně nedrží schválenou žádost na zdroji.

Protože sys.dm_tran_locks jsou vyplňovány z interních struktur správce zámků, udržování těchto informací nepřidává další režie běžnému zpracování. Materializace pohledu vyžaduje přístup k interním datovým strukturám správce zámků. To může mít menší vliv na běžné zpracování na serveru. Tyto efekty by měly být nepostřehnutelné a měly by ovlivňovat jen silně využívané zdroje. Protože data v tomto zobrazení odpovídají stavu správce živých zámků, data se mohou kdykoli změnit a řádky jsou přidávány a odebírány při získávání a uvolňování zámků. Aplikace dotazující tento pohled mohou zaznamenat nepředvídatelný výkon kvůli povaze ochrany integrity struktur správců zámků. Tento pohled nemá žádné historické informace.

Dva požadavky pracují na stejném zdroji pouze tehdy, pokud jsou všechny sloupce skupiny zdrojů stejné.

Zamykaní čtení můžete ovládat pomocí následujících nástrojů:

Zdroj, který běží pod tímto režimem session_id , může mít více než jeden udělený zámek. Různé entity, které běží pod jednou relací, mohou mít každý zámek na stejný zdroj a informace se zobrazují ve request_owner_type sloupcích a request_owner_id vrácených .sys.dm_tran_locks Pokud existuje více instancí stejného request_owner_type zařízení, sloupec request_owner_id se používá k rozlišení každé instance. U distribuovaných transakcí request_owner_type sloupce a request_owner_guid ukazují různé informace o entitách.

Například relace S1 vlastní sdílený zámek na Table1; a transakce T1, která běží pod relací S1, také vlastní sdílený zámek na Table1. V tomto případě sloupec resource_description , který je vrácen , sys.dm_tran_locks ukazuje dvě instance stejného zdroje. Sloupec request_owner_type zobrazuje jednu instanci jako relaci a druhou jako transakci. Sloupec resource_owner_id má také různé hodnoty.

Více kurzorů, které běží pod jednou seanci, jsou nerozlišitelné a jsou považovány za jednu entitu.

Distribuované transakce, které nejsou spojeny s hodnotou session_id , jsou osiřelé transakce a jsou přiřazeny session_id hodnotě -2. Další informace naleznete v tématu KILL (Transact-SQL).

Locks

Zámky jsou drženy na zdrojích SQL Serveru, například na řádkech přečtených nebo upravených během transakce, aby se zabránilo současnému využívání zdrojů různými transakcemi. Například pokud je exkluzivní (X) zámek držen na řádku v tabulce transakcí, žádná jiná transakce nemůže tento řádek upravit, dokud není zámek uvolněn. Minimalizace zámků zvyšuje souběžnost, což může zlepšit výkon.

Podrobnosti o prostředku

Následující tabulka uvádí zdroje reprezentované ve sloupci resource_associated_entity_id .

Typ zdroje Popis prostředku resource_associated_entity_id
DATABASE Představuje databázi. Není relevantní
SOUBOR Představuje databázový soubor. Tento soubor může být datový nebo logovací soubor. Není relevantní
OBJECT Představuje objekt v databázi. Tento objekt může být datová tabulka, pohled, uložená procedura, rozšířená uložená procedura nebo jakýkoli objekt, který má ID objektu. ID objektu
STRANA Představuje jednu stránku v datovém souboru. HoBt ID. Tato hodnota odpovídá .sys.partitions.hobt_id HoBt ID není vždy dostupné pro zdroje PAGE, protože HoBt ID je další informace, kterou může volající poskytnout, a ne všichni volající je mohou poskytnout.
KLÍČ Představuje řádek v indexu. HoBt ID. Tato hodnota odpovídá .sys.partitions.hobt_id
ROZSAH Představuje rozsah datového souboru. Rozsah je skupina osmi souvislých stran. Není relevantní
RID Představuje fyzickou řadu v haldě. HoBt ID. Tato hodnota odpovídá .sys.partitions.hobt_id HoBt ID není vždy dostupné pro zdroje RID, protože HoBt ID je další informace, kterou může volající poskytnout, a ne všichni volající mohou tyto informace poskytnout.
APLIKACE Představuje aplikativně specifikovaný zdroj. Není relevantní
METADATA Představuje informace o metadatech. Není relevantní
HOBT Reprezentuje haldu nebo B-strom. To jsou základní přístupové cesty. HoBt ID. Tato hodnota odpovídá .sys.partitions.hobt_id
OIB Představuje online index (znovu)vybudování. HoBt ID. Tato hodnota odpovídá .sys.partitions.hobt_id
ALLOCATION_UNIT Představuje sadu souvisejících stránek, například indexovou partition. Každá alokační jednotka pokrývá jeden řetězec Index Allocation Map (IAM). ID jednotky alokace. Tato hodnota odpovídá .sys.allocation_units.allocation_unit_id
ROW_GROUP Reprezentuje skupinu řádků columnstore.
XACT Představuje transakci. Stává se to, když je zapnuté optimalizované zamykaní . Existují dva scénáře:

Scénář 1 (Majitel)
- Typ zdroje: XACT.
- Popis zdroje: Když je držen TID zámek, je to resource_description zdroj.XACT
- ID entity přiřazené k zdroji: resource_associated_entity_id je 0.

Scénář 2 (Číšník)
- Typ zdroje: XACT.
- Popis zdroje: Když požadavek čeká na TID zámek, je XACT to resource_description zdroj následovaný podkladovým KEYRID nebo zdrojem.
- ID entity spojené se zdrojem: resource_associated_entity_id je základní HoBt ID.

Poznámka:

Dokumentace používá termín B-tree obecně v odkazu na indexy. V indexech rowstore databázový stroj implementuje strom B+. To neplatí pro indexy columnstore ani indexy v tabulkách optimalizovaných pro paměť. Další informace najdete v SQL Serveru a architektuře indexu Azure SQL a průvodci návrhem.

Následující tabulka uvádí podtypy, které jsou přiřazeny ke každému typu zdroje.

ResourceSubType Synchronizuje
ALLOCATION_UNIT. BULK_OPERATION_PAGE Předem alokované stránky používané pro hromadné operace.
ALLOCATION_UNIT. PAGE_COUNT Statistiky počtu stran alokace během operací odloženého předání.
DATABÁZE. BULKOP_BACKUP_DB Zálohy databází s hromadnými operacemi.
DATABÁZE. BULKOP_BACKUP_LOG Zálohy databázových logů s hromadnými operacemi.
DATABÁZE. CHANGE_TRACKING_CLEANUP Úkoly při čištění změn.
DATABÁZE. CT_DDL DDL operace na úrovni databáze a tabulek pro sledování změn.
DATABÁZE. CONVERSATION_PRIORITY Operace priorit konverzace Service Broker, jako je VYTVOŘENÍ PRIORITY BROKERA.
DATABÁZE. DDL Operace v datovém jazyku pro definici dat (DDL) s operacemi souborové skupiny, jako je drop.
DATABÁZE. ENCRYPTION_SCAN Synchronizace šifrování TDE.
DATABÁZE. PLANGUIDE Synchronizace plánovacího průvodce.
DATABÁZE. RESOURCE_GOVERNOR_DDL DDL operace pro operace správce zdrojů, jako je ALTER RESOURCE POOL.
DATABÁZE. ZMENŠIT Operace zmenšování databáze.
DATABÁZE. SPUŠTĚNÍ Používá se pro synchronizaci spuštění databáze.
SOUBOR. ZMENŠIT Operace zmenšování souborů.
HOBT. BULK_OPERATION Hromadné operace optimalizované pro haldu s souběžným skenováním při těchto úrovních izolace: snapshot, read uncommitted a read committed pomocí verzování řádků.
HOBT. INDEX_REORGANIZE Operace reorganizace haldy nebo indexu.
OBJEKT. KOMPILOVAT Uložená procedura zkompilovala.
OBJEKT. INDEX_OPERATION Indexové operace.
OBJEKT. UPDSTATS Statistiky se aktualizují v tabulce.
METADATA. SHROMÁŽDĚNÍ Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. ASSEMBLY_CLR_NAME Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. ASSEMBLY_TOKEN Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. ASYMMETRIC_KEY Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. AUDIT Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. AUDIT_ACTIONS Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. AUDIT_SPECIFICATION Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. AVAILABILITY_GROUP Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. CERTIFIKÁT Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. CHILD_INSTANCE Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. COMPRESSED_FRAGMENT Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. COMPRESSED_ROWSET Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. CONVERSTATION_ENDPOINT_RECV Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. CONVERSTATION_ENDPOINT_SEND Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. CONVERSATION_GROUP Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. CONVERSATION_PRIORITY Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. POVĚŘENÍ Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. CRYPTOGRAPHIC_PROVIDER Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. DATA_SPACE Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. DATABÁZE Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. DATABASE_PRINCIPAL Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. DB_MIRRORING_SESSION Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. DB_MIRRORING_WITNESS Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. DB_PRINCIPAL_SID Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. ZAKONČENÍ Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. ENDPOINT_WEBMETHOD Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. EXPR_COLUMN Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. EXPR_HASH Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. FULLTEXT_CATALOG Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. FULLTEXT_INDEX Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. FULLTEXT_STOPLIST Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. INDEX_EXTENSION_SCHEME Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. INDEXSTATS Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. INSTANTIATED_TYPE_HASH Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. ZPRÁVA Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. METADATA_CACHE Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. PARTITION_FUNCTION Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. PASSWORD_POLICY Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. DOVOLENÍ Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. PLAN_GUIDE Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. PLAN_GUIDE_HASH Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. PLAN_GUIDE_SCOPE Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. QNAME Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. QNAME_HASH Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. REMOTE_SERVICE_BINDING Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. CESTA Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. SCHÉMA Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. SECURITY_CACHE Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. SECURITY_DESCRIPTOR Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. POSLOUPNOST Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. SERVER_EVENT_SESSIONS Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. SERVER_PRINCIPAL Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. SLUŽBA Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. SERVICE_BROKER_GUID Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. SERVICE_CONTRACT Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. SERVICE_MESSAGE_TYPE Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. STATISTICKÉ ÚDAJE Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. SYMMETRIC_KEY Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. USER_TYPE Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA.XML_KOLEKCE Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA.XML_COMPONENT Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA.XML_INDEX_QNAME Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.

Následující tabulka uvádí formát sloupce resource_description pro každý typ zdroje.

Resource Formát Description
DATABASE Není relevantní ID databáze je již ve sloupci resource_database_id dostupné.
SOUBOR <file_id> ID souboru, který je tímto zdrojem reprezentován.
OBJECT <object_id> ID objektu, který je tímto zdrojem reprezentován. Tento objekt může být jakýkoli objekt uvedený v , sys.objectsnejen tabulka.
STRANA <file_id>:<page_in_file> Představuje ID souboru a stránky stránky, která je tímto zdrojem reprezentována.
KLÍČ <hash_value> Představuje hash klíčových sloupců z řádku, který je tímto zdrojem reprezentován.
ROZSAH <file_id>:<page_in_files> Představuje ID souboru a stránky v rozsahu, který je tímto zdrojem reprezentován. ID rozsahu je stejné jako ID stránky první stránky v rozsahu.
RID <file_id>:<page_in_file>:<row_on_page> Představuje ID stránky a ID řádku řádku, který je tímto zdrojem reprezentován. Pokud je přiřazené ID objektu 99, tento zdroj představuje jeden z osmi smíšených stránkových slotů na první IAM stránce IAM řetězce.
APLIKACE <DbPrincipalId>:<up to 32 characters>:(<hash_value>) Představuje ID principu databáze, který se používá pro omezení tohoto zdroje zámku aplikace. Součástí je také až 32 znaků z řetězce zdroje, který odpovídá tomuto zdroji zámku aplikace. V určitých případech mohou být zobrazeny pouze dva znaky, protože celý řetězec již není dostupný. Toto chování nastává pouze při obnově databáze u aplikačních zámků, které jsou znovu získány v rámci procesu obnovy. Hodnota hashu představuje hash celého řetězce zdroje, který odpovídá tomuto zdroji zámku aplikace.
HOBT Není relevantní HoBt ID je zahrnuto jako .resource_associated_entity_id
ALLOCATION_UNIT Není relevantní Allocation Unit ID je zahrnuto jako .resource_associated_entity_id
XACT <dbid>:<XdesId low>:<XdesId high> Zdroj TID (ID transakce). Stává se to, když je zapnuté optimalizované zamykaní .
XACT KEY [XACT <dbid>:<XdesId low>:<XdesId High>] KEY (<hash_value>) Podkladový zdroj, na který transakce čeká, s indexem KEY objektu. Stává se to, když je zapnuté optimalizované zamykaní .
XACT RID [XACT <dbid>:<XdesId low>:<XdesId High>] RID (<file_id>:<page_in_file>:<row_on_page>) Základní zdroj, na který transakce čeká, je objektem RID haldy. Stává se to, když je zapnuté optimalizované zamykaní .
METADATA. SHROMÁŽDĚNÍ assembly_id = A Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. ASSEMBLY_CLR_NAME $qname_id = Q Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. ASSEMBLY_TOKEN assembly_id = A, $token_id Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. ASSYMMETRIC_KEY asymmetric_key_id = A Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. AUDIT audit_id = A Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. AUDIT_ACTIONS device_id = D, major_id = M Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. AUDIT_SPECIFICATION audit_specification_id = A Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. AVAILABILITY_GROUP availability_group_id = A Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. CERTIFIKÁT certificate_id = C Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. CHILD_INSTANCE $hash = H1:H2:H3 Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. COMPRESSED_FRAGMENT object_id = O , compressed_fragment_id = C Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. COMPRESSED_ROW object_id = O Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. CONVERSTATION_ENDPOINT_RECV $hash = H1:H2:H3 Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. CONVERSTATION_ENDPOINT_SEND $hash = H1:H2:H3 Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. CONVERSATION_GROUP $hash = H1:H2:H3 Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. CONVERSATION_PRIORITY conversation_priority_id = C Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. POVĚŘENÍ credential_id = C Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. CRYPTOGRAPHIC_PROVIDER provider_id = P Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. DATA_SPACE data_space_id = D Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. DATABÁZE database_id = D Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. DATABASE_PRINCIPAL principal_id = P Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. DB_MIRRORING_SESSION database_id = D Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. DB_MIRRORING_WITNESS $hash = H1:H2:H3 Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. DB_PRINCIPAL_SID $hash = H1:H2:H3 Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. ZAKONČENÍ endpoint_id = E Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. ENDPOINT_WEBMETHOD $hash = H1:H2:H3 Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. FULLTEXT_CATALOG fulltext_catalog_id = F Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. FULLTEXT_INDEX object_id = O Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. EXPR_COLUMN object_id = O, column_id = C Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. EXPR_HASH object_id = O, $hash = H Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. FULLTEXT_CATALOG fulltext_catalog_id = F Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. FULLTEXT_INDEX object_id = O Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. FULLTEXT_STOPLIST fulltext_stoplist_id = F Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. INDEX_EXTENSION_SCHEME index_extension_id = I Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. INDEXSTATS object_id = O index_id, nebostats_id = I Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. INSTANTIATED_TYPE_HASH user_type_id = U, hash = H Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. ZPRÁVA message_id = M Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. METADATA_CACHE $hash = H1:H2:H3 Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. PARTITION_FUNCTION function_id = F Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. PASSWORD_POLICY principal_id = P Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. DOVOLENÍ class = C Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. PLAN_GUIDE plan_guide_id = P Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. PLAN_GUIDE_HASH $hash = H1:H2:H3 Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. PLAN_GUIDE_SCOPE scope_id = S Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. QNAME $qname_id = Q Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. QNAME_HASH $qname_scope_id = Q, $qname_hash = H Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. REMOTE_SERVICE_BINDING remote_service_binding_id = R Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. CESTA route_id = R Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. SCHÉMA schema_id = S Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. SECURITY_CACHE $hash = H1:H2:H3 Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. SECURITY_DESCRIPTOR sd_id = S Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. POSLOUPNOST $seq_type = S, object_id = O Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. SERVER server_id = S Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. SERVER_EVENT_SESSIONS event_session_id = E Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. SERVER_PRINCIPAL principal_id = P Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. SLUŽBA service_id = S Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. SERVICE_BROKER_GUID $hash = H1:H2:H3 Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. SERVICE_CONTRACT service_contract_id = S Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. SERVICE_MESSAGE_TYPE message_type_id = M Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. STATISTICKÉ ÚDAJE object_id = O, stats_id = S Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. SYMMETRIC_KEY symmetric_key_id = S Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA. USER_TYPE user_type_id = U Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA.XML_KOLEKCE xml_collection_id = X Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA.XML_COMPONENT xml_component_id = X Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.
METADATA.XML_INDEX_QNAME object_id = O, $qname_id = Q Určeno pouze pro informační účely. Není podporováno. Budoucí kompatibilita není zaručena.

Examples

A. Používejte sys.dm_tran_locks s dalšími nástroji

Následující příklad funguje se scénářem, kdy je aktualizační operace zablokována jinou transakcí. Používáním sys.dm_tran_locks a dalšími nástroji jsou poskytovány informace o uzamykacích zdrojích.

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;

Následující dotaz zobrazuje informace o zámku. Hodnota pro <dbid> by měla být nahrazena z database_id .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>;

Následující dotaz vrací informace o objektu pomocí resource_associated_entity_id předchozího dotazu. Tento dotaz musí být proveden, zatímco jste připojeni k databázi, která objekt obsahuje.

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

Následující dotaz zobrazuje informace o blokování.

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;

Uvolněte zdroje tím, že transakce vrátíte zpět.

-- Session 1
ROLLBACK;
GO

-- Session 2
ROLLBACK;
GO

Následující příklad vrací informace, které asociují a session_id s ID vlákna Windows. Výkon vlákna lze sledovat v Windows Performance Monitoru. Tento dotaz nevrací , session_id která je právě v režimu spánku.

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