sys.dm_tran_locks (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Warehouse in Microsoft Fabric

Gibt Informationen zu derzeit aktiven Sperren-Manager-Ressourcen in SQL Server zurück. Jede Zeile stellt eine derzeit aktive Anforderung des Sperren-Managers für eine erteilte oder zu erteilende Sperre dar.

Die Spalten im Resultset sind in zwei Hauptgruppen unterteilt: Ressourcen und Anforderungen. Die Ressourcengruppe beschreibt die Ressource, für die die Sperranforderung erfolgt. Die Anforderungsgruppe beschreibt die Sperranforderung.

Hinweis

Um dies von Azure Synapse Analytics oder Analytics Platform System (PDW) aufzurufen, verwenden Sie den Namen sys.dm_pdw_nodes_tran_locks. Diese Syntax wird vom serverlosen SQL-Pool in Azure Synapse Analytics nicht unterstützt.

Spaltenname Datentyp Beschreibung
resource_type nvarchar(60) Stellt den Ressourcentyp dar. Der Wert kann sein: DATABASE, FILE, OBJECT, PAGE, KEY, EXTENT, RID, APPLICATION, METADATA, HOBT, ALLOCATION_UNIT oder XACT.
resource_subtype nvarchar(60) Stellt einen Untertyp von resource_type. Das Abrufen einer Untertypsperre, ohne eine nicht subtypisierte Sperre des übergeordneten Typs zu halten, ist technisch gültig. Verschiedene Untertypen stehen nicht miteinander in Konflikt oder mit dem nicht subtypisierten übergeordneten Typ. Nicht alle Ressourcentypen weisen Untertypen auf.
resource_database_id int ID der Datenbank, zu deren Bereich diese Ressource gehört. Alle Ressourcen, die vom Sperren-Manager verarbeitet werden, erhalten die Datenbank-ID als Bereich.
resource_description nvarchar(256) Beschreibung der Ressource, die nur Informationen enthält, die in anderen Ressourcenspalten nicht verfügbar sind.
resource_associated_entity_id bigint ID der Entität in einer Datenbank, der eine Ressource zugeordnet ist. Hierbei kann es sich je nach Ressourcentyp um eine Objekt-ID, eine HoBt-ID oder eine Zuordnungseinheit-ID handeln.
resource_lock_partition Int ID der Sperrenpartition für eine partitionierte Sperrenressource. Der Wert für nicht partitionierte Sperrressourcen lautet 0.
request_mode nvarchar(60) Der Anforderungsmodus. Für erteilte Anforderungen ist dies der erteilte Modus, für wartende Anforderungen ist dies der angeforderte Modus.

NULL = Auf die Ressource wird kein Zugriff erteilt. Dient als Platzhalter.

Sch-S (Schemastabilität) = Stellt sicher, dass ein Schemaelement, z. B. eine Tabelle oder ein Index, nicht gelöscht wird, solange eine Sitzung eine Schemastabilitätssperre für das Schemaelement aufrechterhält.

Sch-M (Schemamodifizierung) = Muss von jeder Sitzung aufrechterhalten werden, bei der das Schema der angegebenen Ressource geändert werden soll. Stellt sicher, dass keine anderen Sitzungen auf das angegebene Objekt verweisen.

S (Shared, gemeinsamer Zugriff) = Der haltenden Sitzung wird der gemeinsame Zugriff auf die Ressource erteilt.

U (Update) = Gibt eine Aktualisierungssperre für Ressourcen an, die letztlich aktualisiert werden könnten. Sie wird dazu verwendet, eine häufige Form von Deadlock zu verhindern, die auftritt, wenn mehrere Sitzungen Ressourcen sperren, um diese möglicherweise zu einem späteren Zeitpunkt zu aktualisieren.

X (Exklusiv) = Der haltenden Sitzung wird exklusiver Zugriff auf die Ressource erteilt.

IS (Intent Shared, beabsichtigte gemeinsame Sperre) = Gibt die Absicht an, S-Sperren für eine untergeordnete Ressource in der Sperrhierarchie zu platzieren.

IU (Intent Update, beabsichtigte Updatesperre) = Gibt die Absicht an, U-Sperren für eine untergeordnete Ressource in der Sperrhierarchie zu platzieren.

IX (Intent Exclusive, beabsichtigte exklusive Sperre) = Gibt die Absicht an, X-Sperren für eine untergeordnete Ressource in der Sperrhierarchie zu platzieren.

SIU (Gemeinsame Sperre mit beabsichtigter Updatesperre) = Gibt den gemeinsamen Zugriff auf eine Ressource mit der Absicht an, Updatesperren für untergeordnete Ressourcen in der Sperrhierarchie zu erhalten.

SIU (Gemeinsame Sperre mit beabsichtigter exklusiver Sperre) = Gibt den gemeinsamen Zugriff auf eine Ressource mit der Absicht an, exklusive Sperren für untergeordnete Ressourcen in der Sperrhierarchie zu erhalten.

UIX (Aktualisierungssperre mit beabsichtigter exklusiver Sperre) = Gibt eine aufrechterhaltene Updatesperre für eine Ressource mit der Absicht an, exklusive Sperren für untergeordnete Ressourcen in der Sperrhierarchie zu erhalten.

BU = Wird von Massenvorgängen verwendet.

RangeS_S (Gemeinsame Sperre für Schlüsselbereich und gemeinsame Sperre für Ressource) = Gibt eine serialisierbare Bereichsüberprüfung an.

RangeS_U (Gemeinsame Sperre für Schlüsselbereich und Updatesperre für Ressource) = Gibt eine serialisierbare Updateüberprüfung an.

RangeI_N (Einfügungssperre für Schlüsselbereich und NULL-Sperre für Ressource) = Wird verwendet, um Bereiche vor dem Einfügen eines neuen Schlüssels in einen Index zu testen.

RangeI_S (Konvertierungssperre für Schlüsselbereich) = Wird durch eine Überschneidung von RangeI_N- und S-Sperren erzeugt.

RangeI_U (Konvertierungssperre für Schlüsselbereich) = Wird durch eine Überschneidung von RangeI_N- und U-Sperren erzeugt.

RangeI_X (Konvertierungssperre für Schlüsselbereich) = Wird durch eine Überschneidung von RangeI_N- und X-Sperren erzeugt.

RangeX_S (Konvertierungssperre für Schlüsselbereich) = Wird durch eine Überschneidung von RangeI_N- und RangeS_S-Sperren erzeugt. erzeugt wurde.

RangeX_U (Konvertierungssperre für Schlüsselbereich) = Wird durch eine Überschneidung von RangeI_N- und RangeS_U-Sperren erzeugt.

RangeX_X (Exklusive Sperre für Schlüsselbereich und exklusive Sperre für Ressource) = Dies ist eine Konvertierungssperre, die beim Aktualisieren eines Schlüssels in einem Bereich verwendet wird.
request_type nvarchar(60) Der Anforderungstyp. Der Wert ist LOCK.
request_status nvarchar(60) Aktueller Status dieser Anforderung. Mögliche Werte sind GRANTED, CONVERT, WAIT, LOW_PRIORITY_CONVERT, LOW_PRIORITY_WAIT oder ABORT_BLOCKERS. Weitere Informationen zu Wartevorgängen niedriger Priorität und Abbruchblockern finden Sie im Abschnitt low_priority_lock_wait unter ALTER INDEX (Transact-SQL).
request_reference_count smallint Gibt zurück, wie oft derselbe Anforderer diese Ressource ungefähr angefordert hat.
request_lifetime int Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
request_session_id int session_id die derzeit diese Anforderung besitzt. Der Besitz session_id kann sich für verteilte und gebundene Transaktionen ändern. Ein Wert, der -2 angibt, dass die Anforderung zu einer verwaisten verteilten Transaktion gehört. Ein Wert von -3 gibt an, dass die Anforderung zu einer verzögerten Wiederherstellungstransaktion gehört, z. B. einer Transaktion, für die ein Rollback bei der Wiederherstellung zurückgestellt wurde, da das Rollback nicht erfolgreich abgeschlossen werden konnte.
request_exec_context_id int Ausführungskontext-ID des Prozesses, der derzeit diese Anforderung besitzt.
request_request_id int request_id (Batch-ID) des Prozesses, der derzeit diese Anforderung besitzt. Dieser Wert ändert sich jedes Mal, wenn die aktive Mars-Verbindung (Multiple Active Result Set) für eine Transaktion geändert wird.
request_owner_type nvarchar(60) Entitätstyp, der die Anforderung besitzt. Sperren-Manager-Anforderungen können im Besitz einer Reihe von Entitäten sein. Mögliche Werte:

TRANSACTION = Der Besitzer der Anforderung ist eine Transaktion.

CURSOR = Der Besitzer der Anforderung ist ein Cursor.

SESSION = Der Besitzer der Anforderung ist eine Benutzersitzung.

SHARED_TRANSACTION_WORKSPACE = Der Besitzer der Anforderung ist der freigegebene Bereich des Transaktionsarbeitsbereichs.

EXCLUSIVE_TRANSACTION_WORKSPACE = Der Besitzer der Anforderung ist der exklusive Bereich des Transaktionsarbeitsbereichs.

NOTIFICATION_OBJECT = Die Anforderung befindet sich im Besitz einer internen SQL Server-Komponente. Diese Komponente hat vom Sperren-Manager eine Benachrichtigung angefordert, wenn eine andere Komponente darauf wartet, die Sperre zu übernehmen. Die FileTable-Funktion ist eine Komponente, die diesen Wert verwendet.

Hinweis: Arbeitsbereiche werden intern verwendet, um Sperren für eingetragene Sitzungen aufrechtzuerhalten.
request_owner_id bigint ID des Besitzers dieser Anforderung.

Wenn eine Transaktion der Besitzer der Anforderung ist, enthält dieser Wert die Transaktions-ID.

Wenn eine FileTable der Besitzer der Anforderung ist, request_owner_id hat eine der folgenden Werte:
  • -4 : Eine FileTable hat eine Datenbanksperre übernommen.
  • -3 : Eine FileTable hat eine Tabellensperre übernommen.
  • Anderer Wert : Der Wert stellt ein Dateihandle dar. Dieser Wert wird auch als fcb_id in der dynamischen Verwaltungssicht sys.dm_filestream_non_transacted_handles (Transact-SQL) angezeigt.
request_owner_guid uniqueidentifier GUID des Besitzers dieser Anforderung. Wird nur von einer verteilten Transaktion verwendet, wobei der Wert dem MS DTC-GUID für diese Transaktion entspricht.
request_owner_lockspace_id nvarchar(32) Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt. Dieser Wert stellt die Sperrenbereich-ID des Anforderers dar. Die Sperrenbereich-ID bestimmt, ob zwei Anforderer miteinander kompatibel sind und ob ihnen Sperren in Modi erteilt werden können, die ansonsten zu Konflikten miteinander führen würden.
lock_owner_address varbinary(8) Speicheradresse der internen Datenstruktur, mit der diese Anforderung nachverfolgt wird. Diese Spalte kann mit resource_address der Spalte in sys.dm_os_waiting_tasksverknüpft werden.
pdw_node_id int Gilt für: Azure Synapse Analytics, Analytics Platform System (PDW)

Der Bezeichner für den Knoten, auf dem sich diese Verteilung befindet.

Berechtigungen

Für SQL Server und SQL Managed Instance ist die VIEW SERVER STATE-Berechtigung erforderlich.

Für SQL-Datenbank Standard-, S0- und S1-Dienstziele sowie für Datenbanken in elastischen Pools ist das Serveradministratorkonto, das Microsoft Entra-Administratorkonto oder die Mitgliedschaft in der ##MS_ServerStateReader##Serverrolle erforderlich. Für alle anderen SQL-Datenbank-Dienstziele ist entweder die VIEW DATABASE STATE-Berechtigung für die Datenbank oder die Mitgliedschaft in der ##MS_ServerStateReader##-Serverrolle erforderlich.

Berechtigungen für SQL Server 2022 und höher

Erfordert die VIEW SERVER PERFORMANCE STATE-Berechtigung auf dem Server.

Bemerkungen

Der Anforderungsstatus GRANTED gibt an, dass dem Anforderer für eine Ressource eine Sperre erteilt wurde. Der Anforderungsstatus WAITING gibt an, dass die Anforderung noch nicht erteilt wurde. Die folgenden Anforderungstypen werden von der request_status Spalte zurückgegeben:

  • Der Anforderungsstatus CONVERT gibt an, dass dem Anforderer bereits eine Anforderung für die Ressource erteilt wurde und dass er derzeit darauf wartet, dass ein Upgrade für die ursprüngliche Anforderung erteilt wird.

  • Der Anforderungsstatus WAIT gibt an, dass der Anforderer derzeit keine erteilte Anforderung für die Ressource besitzt.

Da sys.dm_tran_locks diese Informationen aus internen Datenstrukturen des Sperr-Managers aufgefüllt werden, wird durch die Standard haltung dieser Informationen kein zusätzlicher Aufwand für die normale Verarbeitung hinzugefügt. Durch das Materialisieren der Sicht ist der Zugriff auf die internen Strukturen des Sperren-Managers erforderlich. Dies kann die reguläre Verarbeitung auf dem Server geringfügig beeinträchtigen. Diese Auswirkungen sollten nicht bemerkbar sein und sollten nur stark ausgelastete Ressourcen betreffen. Die Daten in dieser Sicht entsprechen dem Livestatus des Sperren-Managers. Deshalb können sie jederzeit geändert werden, und Zeilen werden hinzugefügt und entfernt, wenn Sperren eingerichtet und aufgehoben werden. Anwendungen, die diese Sicht abfragen, stellen aufgrund der Art des Integritätsschutzes für Sperr-Manager-Strukturen möglicherweise eine unvorhersehbare Leistung fest. Diese Sicht weist keine Verlaufsinformationen auf.

Zwei Anforderungen verwenden nur dann dieselbe Ressource, wenn alle Ressourcengruppenspalten identisch sind.

Sie können das Sperren von Lesevorgängen mit folgenden Tools steuern:

Eine Ressource, die unter einer session_id ausgeführt wird, kann mehr als eine gewährte Sperre aufweisen. Unterschiedliche Entitäten, die unter einer Sitzung ausgeführt werden, können jeweils eine Sperre für dieselbe Ressource besitzen, und die Informationen werden in den request_owner_type von ihnen zurückgegebenen sys.dm_tran_locksSpalten angezeigtrequest_owner_id. Wenn mehrere Instanzen desselben request_owner_type vorhanden sind, wird die request_owner_id Spalte verwendet, um jede Instanz zu unterscheiden. Bei verteilten Transaktionen zeigen die Spalten request_owner_guid die request_owner_type verschiedenen Entitätsinformationen an.

Beispielsweise besitzt Session S1 eine freigegebene Sperre Table1; und Transaktion T1, die unter Sitzung S1 ausgeführt wird, besitzt auch eine freigegebene Sperre Table1. In diesem Fall zeigt die resource_description Spalte, die von sys.dm_tran_locks zwei Instanzen derselben Ressource zurückgegeben wird. In der request_owner_type Spalte wird eine Instanz als Sitzung und die andere als Transaktion angezeigt. Außerdem weist die resource_owner_id Spalte unterschiedliche Werte auf.

Mehrere Cursor, die unter einer Sitzung ausgeführt werden, können nicht unterschieden werden und werden als eine Einheit behandelt.

Verteilte Transaktionen, die keinem session_id Wert zugeordnet sind, sind verwaiste Transaktionen und werden dem session_id Wert zugewiesen -2. Weitere Informationen finden Sie unter KILL (Transact-SQL).

Locks

SQL Server -Ressourcen, wie etwa Zeilen, die während einer Transaktion gelesen oder geändert werden, werden mit Sperren belegt, um die zeitgleiche Verwendung der Ressourcen durch verschiedene Transaktionen zu verhindern. Wenn beispielsweise eine Zeile in einer Tabelle von einer Transaktion mit einer exklusiven Sperre (X) belegt wird, kann diese Zeile erst dann von einer anderen Transaktion geändert werden, wenn die Sperre aufgehoben wird. Durch die Reduzierung der Anzahl von Sperren kann die Parallelität erhöht werden, wodurch sich die Leistung verbessert.

Ressourcendetails

In der folgenden Tabelle sind die Ressourcen aufgeführt, die in der resource_associated_entity_id Spalte dargestellt werden.

Ressourcentyp Ressourcenbeschreibung resource_associated_entity_id
DATABASE Stellt eine Datenbank dar. Nicht zutreffend
DATEI Stellt eine Datenbankdatei dar. Bei dieser Datei kann es sich entweder um eine Datendatei oder eine Protokolldatei handeln. Nicht zutreffend
OBJECT Stellt ein Datenbankobjekt dar. Bei diesem Objekt kann es sich um eine Datentabelle, eine Sicht, eine gespeicherte Prozedur, eine erweiterte gespeicherte Prozedur oder ein beliebiges Objekt mit einer Objekt-ID handeln. Objekt-ID
PAGE Stellt eine einzelne Seite in einer Datendatei dar. HoBt-ID. Dieser Wert entspricht sys.partitions.hobt_id. Die HoBt-ID ist nicht immer für PAGE-Ressourcen verfügbar, weil es sich bei der HoBt-ID um zusätzliche Informationen handelt, die vom Aufrufer bereitgestellt werden können. Dabei sind nicht alle Aufrufer in der Lage, diese Informationen bereitzustellen.
KEY Stellt eine Zeile in einem Index dar. HoBt-ID. Dieser Wert entspricht sys.partitions.hobt_id.
EXTENT Stellt einen Datendateiblock dar. Ein Block ist eine Gruppe von acht fortlaufenden Seiten. Nicht zutreffend
RID Stellt eine physische Zeile in einem Heap dar. HoBt-ID. Dieser Wert entspricht sys.partitions.hobt_id. Die HoBt-ID ist nicht immer für RID-Ressourcen verfügbar, weil es sich bei der HoBt-ID um zusätzliche Informationen handelt, die vom Aufrufer bereitgestellt werden können. Dabei sind nicht alle Aufrufer in der Lage, diese Informationen bereitzustellen.
APPLICATION Stellt eine in einer Anwendung angegebene Ressource dar. Nicht zutreffend
METADATA Stellt Metadateninformationen dar. Nicht zutreffend
HOBT Stellt einen Heap oder eine B-Struktur dar. Dies sind die grundlegenden Zugriffspfadstrukturen. HoBt-ID. Dieser Wert entspricht sys.partitions.hobt_id.
ALLOCATION_UNIT Stellt zusammenhängende Seiten dar, wie z. B. eine Indexpartition. Jede Zuordnungseinheit deckt eine einzelne IAM-Kette (Index Allocation Map) ab. Zuordnungseinheit-ID. Dieser Wert entspricht sys.allocation_units.allocation_unit_id.
XACT Die XACT-Ressource. Im Zusammenhang mit der optimierten Sperre. Es gibt zwei Szenarien:

Szenario 1 (Besitzer)
- Ressourcentyp: XACT.
- Ressourcenbeschreibung: Wenn eine TID-Sperre gehalten wird, ist dies resource_description die XACT Ressource.
- Ressourcen zugeordnete Entitäts-ID: resource_associated_entity_id ist 0.

Szenario 2 (Waiter)
- Ressourcentyp: XACT.
- Ressourcenbeschreibung: Wenn wir auf eine TID-Sperre warten, ist die XACTresource_description Ressource gefolgt von der zugrunde liegenden KEY oder RID Ressource.
- Ressourcen zugeordnete Entitäts-ID: resource_associated_entity_id ist die zugrunde liegende HoBt-ID.

Hinweis

In der SQL Server-Dokumentation wird der Begriff „B-Struktur“ im Allgemeinen in Bezug auf Indizes verwendet. In Zeilenspeicherindizes implementiert SQL Server eine B+-Struktur. Dies gilt nicht für Columnstore-Indizes oder In-Memory-Datenspeicher. Weitere Informationen finden Sie im Leitfaden zur Architektur und zum Entwerfen von SQL Server- und Azure SQL-Indizes.

In der folgenden Tabelle sind die Untertypen für jeden Ressourcentyp aufgelistet.

ResourceSubType Synchronisierte Vorgänge
ALLOCATION_UNIT.BULK_OPERATION_PAGE Für Massenvorgänge verwendete vorab zugeordnete Seiten.
ALLOCATION_UNIT.PAGE_COUNT Seitenanzahlstatistiken für Zuordnungseinheiten während verzögerter Löschvorgänge.
DATABASE.BULKOP_BACKUP_DB Datenbanksicherungen mit Massenvorgängen.
DATABASE.BULKOP_BACKUP_LOG Datenbankprotokollsicherungen mit Massenvorgängen.
DATABASE.CHANGE_TRACKING_CLEANUP Cleanuptasks für die Änderungsnachverfolgung.
DATABASE.CT_DDL Änderungsnachverfolgungs-DDL-Vorgänge auf Datenbank- und Tabellenebene.
DATABASE.CONVERSATION_PRIORITY Service Broker-Vorgänge mit Konversationspriorität, z. B. CREATE BROKER PRIORITY.
DATABASE.DDL DDL-Vorgänge (Data Definition Language, Datendefinitionssprache) mit Dateigruppenvorgängen, z. B. Löschvorgängen.
DATABASE.ENCRYPTION_SCAN TDE-Verschlüsselungssynchronisierung.
DATABASE.PLANGUIDE Planhinweislisten-Synchronisierung.
DATABASE.RESOURCE_GOVERNOR_DDL DDL-Vorgänge für Vorgänge der Ressourcenkontrolle, z. B. ALTER RESOURCE POOL.
DATABASE.SHRINK Datenbankverkleinerungsvorgänge.
DATABASE.STARTUP Wird zur Synchronisierung des Datenbankstarts verwendet.
FILE.SHRINK Dateiverkleinerungsvorgänge.
HOBT.BULK_OPERATION Heapoptimierte Massenladevorgänge mit gleichzeitigen Scanvorgängen unter den folgenden Isolationsstufen: SNAPSHOT, READ UNCOMMITTED und READ COMMITTED mithilfe der Zeilenversionsverwaltung.
HOBT.INDEX_REORGANIZE Vorgänge zur Heap- oder Indexneuorganisierung.
OBJECT.COMPILE Kompilierung gespeicherter Prozeduren.
OBJECT.INDEX_OPERATION Indexvorgänge
OBJECT.UPDSTATS Statistikupdates für eine Tabelle.
METADATA.ASSEMBLY Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.ASSEMBLY_CLR_NAME Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.ASSEMBLY_TOKEN Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.ASYMMETRIC_KEY Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.AUDIT Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.AUDIT_ACTIONS Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.AUDIT_SPECIFICATION Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.AVAILABILITY_GROUP Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.CERTIFICATE Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.CHILD_INSTANCE Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.COMPRESSED_FRAGMENT Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.COMPRESSED_ROWSET Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.CONVERSTATION_ENDPOINT_RECV Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.CONVERSTATION_ENDPOINT_SEND Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.CONVERSATION_GROUP Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.CONVERSATION_PRIORITY Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.CREDENTIAL Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.CRYPTOGRAPHIC_PROVIDER Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.DATA_SPACE Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.DATABASE Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.DATABASE_PRINCIPAL Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.DB_MIRRORING_SESSION Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.DB_MIRRORING_WITNESS Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.DB_PRINCIPAL_SID Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.ENDPOINT Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.ENDPOINT_WEBMETHOD Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.EXPR_COLUMN Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.EXPR_HASH Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.FULLTEXT_CATALOG Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.FULLTEXT_INDEX Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.FULLTEXT_STOPLIST Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.INDEX_EXTENSION_SCHEME Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.INDEXSTATS Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.INSTANTIATED_TYPE_HASH Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.MESSAGE Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.METADATA_CACHE Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.PARTITION_FUNCTION Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.PASSWORD_POLICY Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.PERMISSIONS Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.PLAN_GUIDE Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.PLAN_GUIDE_HASH Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.PLAN_GUIDE_SCOPE Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.QNAME Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.QNAME_HASH Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.REMOTE_SERVICE_BINDING Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.ROUTE Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.SCHEMA Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.SECURITY_CACHE Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.SECURITY_DESCRIPTOR Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.SEQUENCE Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.SERVER_EVENT_SESSIONS Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.SERVER_PRINCIPAL Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.SERVICE Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.SERVICE_BROKER_GUID Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.SERVICE_CONTRACT Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.SERVICE_MESSAGE_TYPE Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.STATS Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.SYMMETRIC_KEY Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.USER_TYPE Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.XML_COLLECTION Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.XML_COMPONENT Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.XML_INDEX_QNAME Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.

Die folgende Tabelle enthält das Format der resource_description Spalte für jeden Ressourcentyp.

Resource Format BESCHREIBUNG
DATABASE Nicht zutreffend Die Datenbank-ID ist bereits in der resource_database_id Spalte verfügbar.
FILE <file_id> ID der Datei, die durch diese Ressource dargestellt wird.
OBJECT <object_id> ID des Objekts, das durch diese Ressource dargestellt wird. Dieses Objekt kann ein beliebiges Objekt sein, das nicht nur in sys.objectseiner Tabelle aufgeführt ist.
PAGE <file_id>:<page_in_file> Stellt die Datei-ID und die Seiten-ID der Seite dar, die durch diese Ressource dargestellt wird.
SCHLÜSSEL <hash_value> Stellt einen Hashwert der Schlüsselspalten aus der Zeile dar, die durch diese Ressource dargestellt wird.
EXTENT <file_id>:<page_in_files> Stellt die Datei und die Seiten-ID des Blocks dar, der durch diese Ressource dargestellt wird. Die Block-ID ist mit der Seiten-ID der ersten Seiten des Blocks identisch.
RID <file_id>:<page_in_file>:<row_on_page> Stellt die Seiten-ID und die Zeilen-ID der Zeile dar, die durch diese Ressource dargestellt wird. Wenn die zugeordnete Objekt-ID 99 ist, stellt diese Ressource eines der acht gemischten Seitenplätze auf der ersten IAM-Seite einer IAM-Kette dar.
APPLICATION <DbPrincipalId>:<up to 32 characters>:(<hash_value>) Stellt die ID des Datenbankprinzipals dar, der für die Bereichsauswahl dieser Anwendungssperrenressource verwendet wird. Außerdem sind bis zu 32 Zeichen aus der Ressourcenzeichenfolge enthalten, die dieser Anwendungssperrenressource entsprechen. In bestimmten Fällen können nur zwei Zeichen angezeigt werden, da die vollständige Zeichenfolge nicht mehr verfügbar ist. Dies tritt nur beim Wiederherstellen der Datenbank für Anwendungssperren auf, die im Rahmen des Wiederherstellungsprozesses erneut abgerufen werden. Der Hashwert stellt einen Hash der vollständigen Ressourcenzeichenfolge dar, die dieser Anwendungssperrenressource entspricht.
HOBT Nicht zutreffend Die HoBt-ID ist im Lieferumfang enthalten resource_associated_entity_id.
ALLOCATION_UNIT Nicht zutreffend Die Zuordnungseinheits-ID ist als die resource_associated_entity_id.
XACT <dbid>:<XdesId low>:<XdesId high> Die TID-Ressource. Im Zusammenhang mit der optimierten Sperre.
XACT-TASTE [XACT <dbid>:<XdesId low>:<XdesId High>] KEY (<hash_value>) Die zugrunde liegende Ressource, auf die die Transaktion wartet, mit einem gruppierten Index KEY-Objekt. Im Zusammenhang mit der optimierten Sperre.
XACT RID [XACT <dbid>:<XdesId low>:<XdesId High>] RID (<file_id>:<page_in_file>:<row_on_page>) Die zugrunde liegende Ressource, auf die die Transaktion wartet, mit einem Heap RID-Objekt. Im Zusammenhang mit der optimierten Sperre.
METADATA.ASSEMBLY assembly_id = A Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.ASSEMBLY_CLR_NAME $qname_id = Q Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.ASSEMBLY_TOKEN assembly_id = A, $token_id Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.ASSYMMETRIC_KEY asymmetric_key_id = A Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.AUDIT audit_id = A Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.AUDIT_ACTIONS device_id = D, major_id = M Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.AUDIT_SPECIFICATION audit_specification_id = A Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.AVAILABILITY_GROUP availability_group_id = A Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.CERTIFICATE certificate_id = C Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.CHILD_INSTANCE $hash = H1:H2:H3 Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.COMPRESSED_FRAGMENT object_id = O , compressed_fragment_id = C Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.COMPRESSED_ROW object_id = O Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.CONVERSTATION_ENDPOINT_RECV $hash = H1:H2:H3 Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.CONVERSTATION_ENDPOINT_SEND $hash = H1:H2:H3 Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.CONVERSATION_GROUP $hash = H1:H2:H3 Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.CONVERSATION_PRIORITY conversation_priority_id = C Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.CREDENTIAL credential_id = C Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.CRYPTOGRAPHIC_PROVIDER provider_id = P Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.DATA_SPACE data_space_id = D Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.DATABASE database_id = D Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.DATABASE_PRINCIPAL principal_id = P Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.DB_MIRRORING_SESSION database_id = D Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.DB_MIRRORING_WITNESS $hash = H1:H2:H3 Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.DB_PRINCIPAL_SID $hash = H1:H2:H3 Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.ENDPOINT endpoint_id = E Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.ENDPOINT_WEBMETHOD $hash = H1:H2:H3 Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.FULLTEXT_CATALOG fulltext_catalog_id = F Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.FULLTEXT_INDEX object_id = O Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.EXPR_COLUMN object_id = O, column_id = C Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.EXPR_HASH object_id = O, $hash = H Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.FULLTEXT_CATALOG fulltext_catalog_id = F Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.FULLTEXT_INDEX object_id = O Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.FULLTEXT_STOPLIST fulltext_stoplist_id = F Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.INDEX_EXTENSION_SCHEME index_extension_id = I Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.INDEXSTATS object_id = O, index_id oder stats_id = I Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.INSTANTIATED_TYPE_HASH user_type_id = U, hash = H Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.MESSAGE message_id = M Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.METADATA_CACHE $hash = H1:H2:H3 Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.PARTITION_FUNCTION function_id = F Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.PASSWORD_POLICY principal_id = P Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.PERMISSIONS class = C Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.PLAN_GUIDE plan_guide_id = P Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.PLAN_GUIDE_HASH $hash = H1:H2:H3 Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.PLAN_GUIDE_SCOPE scope_id = S Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.QNAME $qname_id = Q Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.QNAME_HASH $qname_scope_id = Q, $qname_hash = H Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.REMOTE_SERVICE_BINDING remote_service_binding_id = R Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.ROUTE route_id = R Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.SCHEMA schema_id = S Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.SECURITY_CACHE $hash = H1:H2:H3 Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.SECURITY_DESCRIPTOR sd_id = S Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.SEQUENCE $seq_type = S, object_id = O Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.SERVER server_id = S Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.SERVER_EVENT_SESSIONS event_session_id = E Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.SERVER_PRINCIPAL principal_id = P Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.SERVICE service_id = S Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.SERVICE_BROKER_GUID $hash = H1:H2:H3 Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.SERVICE_CONTRACT service_contract_id = S Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.SERVICE_MESSAGE_TYPE message_type_id = M Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.STATS object_id = O, stats_id = S Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.SYMMETRIC_KEY symmetric_key_id = S Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.USER_TYPE user_type_id = U Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.XML_COLLECTION xml_collection_id = X Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.XML_COMPONENT xml_component_id = X Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
METADATA.XML_INDEX_QNAME object_id = O, $qname_id = Q Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.

Beispiele

.A Verwenden von sys.dm_tran_locks mit anderen Tools

Im folgenden Beispiel wird ein Updatevorgang durch eine andere Transaktion blockiert. sys.dm_tran_locks Mithilfe von und anderen Tools werden Informationen zum Sperren von Ressourcen bereitgestellt.

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;

Die folgende Abfrage zeigt Sperrinformationen an. Der Wert für <dbid> den Wert sollte durch den database_id Wert von .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>;

Die folgende Abfrage gibt Objektinformationen mithilfe des Wertes von resource_associated_entity_id aus der vorherigen Abfrage zurück. Die Abfrage muss ausgeführt werden, während Sie mit der Datenbank verbunden sind, die das Objekt enthält.

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

Die folgende Abfrage zeigt Blockierungsinformationen.

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;

Die Ressourcen werden freigegeben, indem ein Rollback für die Transaktionen ausgeführt wird.

-- Session 1
ROLLBACK;
GO

-- Session 2
ROLLBACK;
GO

Im folgenden Beispiel werden Informationen zurückgegeben, die einer session_id Windows-Thread-ID zugeordnet werden. Die Leistung des Threads kann im Windows-Systemmonitor überwacht werden. Diese Abfrage gibt keinen Ruhezustand zurück session_id .

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