sys.syslockinfo (Transact-SQL)

Enthält Informationen zu allen erteilten, konvertierenden und wartenden Sperranforderungen.

Wichtiger HinweisWichtig

Diese SQL Server 2000-Systemtabelle wird aus Gründen der Rückwärtskompatibilität als Sicht bereitgestellt. Es wird empfohlen, stattdessen die aktuellen SQL Server-Systemsichten zu verwenden. Informationen zum Ermitteln der entsprechenden Systemsicht bzw. -sichten finden Sie unter Zuordnen von SQL Server 2000-Systemtabellen zu SQL Server 2005-Katalogsichten. Diese Funktion wird in zukünftigen Versionen von Microsoft SQL Server nicht mehr bereitgestellt. Verwenden Sie diese Funktion beim Entwickeln neuer Anwendungen nicht, und planen Sie das Ändern von Anwendungen, in denen es zurzeit verwendet wird.

Wichtiger HinweisWichtig

Dieses Feature hat sich im Vergleich zu früheren Versionen von SQL Server geändert. Weitere Informationen finden Sie unter Fehlerhafte Änderungen an Funktionen des Datenbankmoduls in SQL Server 2008 R2.

Spaltenname

Datentyp

Beschreibung

rsc_text

nchar(32)

Textbeschreibung einer Sperrressource. Enthält einen Teil des Ressourcennamens.

rsc_bin

binary(16)

Binäre Sperrressource. Enthält die tatsächliche Sperrressource, die im Sperren-Manager enthalten ist. Diese Spalte wurde für Tools hinzugefügt, die das Sperrressourcenformat zum Generieren ihrer eigenen formatierten Sperrressource sowie zur Durchführung von Selbstverknüpfungen auf syslockinfo berücksichtigen.

rsc_valblk

binary(16)

Sperrwertblock. Einige Ressourcentypen enthalten möglicherweise zusätzliche Daten in der Sperrressource, für die vom Sperren-Manager kein Hashvorgang ausgeführt wurde, um den Besitzer einer bestimmten Sperrressource zu bestimmen. So gehören z. B. Seitensperren nicht einer bestimmten Objekt-ID an. Zur Sperrenausweitung und für andere Zwecke. Die Objekt-ID einer Seitensperre kann jedoch im Sperrenwertblock platziert werden.

rsc_dbid

smallint

Zur Ressource zugeordnete Datenbank-ID.

rsc_indid

smallint

Zur Ressource zugeordnete Index-ID, falls zutreffend.

rsc_objid

int

Zur Ressource zugeordnete Objekt-ID, falls zutreffend.

rsc_type

tinyint

Ressourcentyp:

1 = NULL-Ressource (nicht verwendet)

2 = Datenbank

3 = Datei

4 = Index

5 = Tabelle

6 = Seite

7 = Schlüssel

8 = Block

9 = RID (Zeilen-ID)

10 = Anwendung

rsc_flag

tinyint

Interne Ressourcenflags.

req_mode

tinyint

Sperranforderungsmodus. Diese Spalte ist der Sperrmodus des Anforderers und stellt entweder den erteilten Modus oder den Konvertier- bzw. Wartemodus dar.

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

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

2 = Sch-M (Schema modification, Schemaänderung). Muss von jeder Sitzung aufrechterhalten werden, die das Schema der angegebenen Ressource ändern möchte. Stellt sicher, dass keine anderen Sitzungen auf das angegebene Objekt verweisen.

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

4 = U (Update, Aktualisierung). Zeigt eine Aktualisierungssperre an, die für Ressourcen ausgegeben wurde, die möglicherweise aktualisiert werden. 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.

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

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

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

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

9 = SIU (Shared Intent Update, Freigegeben-Beabsichtigt-Aktualisierung). Zeigt den gemeinsamen Zugriff auf eine Ressource mit der Absicht an, Aktualisierungssperren für untergeordnete Ressourcen in der Sperrhierarchie zu erhalten.

10 = SIX (Shared Intent Exclusive, Freigegeben-Beabsichtigt-Exklusiv). Zeigt den gemeinsamen Zugriff auf eine Ressource mit der Absicht an, exklusive Sperren für untergeordnete Ressourcen in der Sperrhierarchie zu erhalten.

11 = UIX (Update Intent Exclusive, Aktualisierung-Beabsichtigt-Exklusiv). Zeigt eine aufrechterhaltene Aktualisierungsperre für eine Ressource mit der Absicht an, exklusive Sperren für untergeordnete Ressourcen in der Sperrhierarchie zu erhalten.

12 = BU (Bulk Update). Wird von Massenvorgängen verwendet.

13 = RangeS_S (Freigegebener Schlüsselbereich und freigegebene Ressourcensperre). Zeigt serialisierbaren Bereichsscan an.

14 = RangeS_U (Freigegebener Schlüsselbereich und Aktualisierungssperre für Ressource). Zeigt serialisierbaren Aktualisierungsscan an.

15 = RangeI_N (Schlüsselbereich einfügen und keine Ressourcensperre). Wird zum Testen von Bereichen verwendet, bevor ein neuer Schlüssel in einen Index eingefügt wird.

16 = RangeI_S. Konvertierungssperre für Schlüsselbereich, die durch eine Überschneidung von RangeI_N- und S-Sperren erzeugt wurde.

17 = RangeI_U. Konvertierungssperre für Schlüsselbereich, die durch eine Überschneidung von RangeI_N- und U-Sperren erzeugt wurde.

18 = RangeI_X. Konvertierungssperre für Schlüsselbereich, die durch eine Überschneidung von RangeI_N- und X-Sperren erzeugt wurde.

19 = RangeX_S. Konvertierungssperre für Schlüsselbereich, die durch eine Überschneidung von RangeI_N- und RangeS_S-Sperren erzeugt wurde.

20 = RangeX_U. Konvertierungssperre für Schlüsselbereich, die durch eine Überschneidung von RangeI_N- und RangeS_U-Sperren erzeugt wurde.

21 = RangeX_X (Exklusiver Schlüsselbereich und exklusive Ressourcensperre). Dies ist eine Konvertierungssperre, die zur Aktualisierung eines Schlüssels in einem Bereich verwendet wird.

req_status

tinyint

Status der Sperranforderung:

1 = Erteilt

2 = Konvertieren

3 = Warten

req_refcnt

smallint

Sperrverweiszähler. Jedes Mal, wenn eine Transaktion eine Sperre für eine bestimmte Ressource anfordert, wird ein Verweiszähler erhöht. Die Sperre kann erst dann freigegeben werden, wenn der Verweiszähler auf 0 steht.

req_cryrefcnt

smallint

Zur künftigen Verwendung reserviert. Wird immer auf 0 festgelegt.

req_lifetime

int

Sperrenlebensdauer-Bitmuster. Während bestimmter Abfrageverarbeitungsstrategien müssen Sperren für Ressourcen aufrechterhalten werden, bis der Abfrageprozessor eine bestimmte Phase der Abfrage abgeschlossen hat. Das Sperrenlebensdauer-Bitmuster wird vom Abfrageprozessor und vom Transaktions-Manager dazu verwendet, Gruppen von Sperren anzugeben. Diese können freigegeben werden, wenn eine bestimmte Phase einer Abfrage abgeschlossen ist. Bestimmte Bits im Bitmuster werden verwendet, um Sperren anzugeben, die bis zum Ende einer Transaktion aufrechterhalten werden, auch wenn ihr Verweiszähler gleich 0 ist.

req_spid

int

Interne Microsoft SQL Server Database Engine (Datenbankmodul)-Prozess-ID der Sitzung, die die Sperre anfordert.

req_ecid

int

Ausführungskontext-ID (ECID, Execution Context ID). Gibt an, welcher Thread in einem parallelen Vorgang eine bestimmte Sperre besitzt.

req_ownertype

smallint

Typ des der Sperre zugeordneten Objekts:

1 = Transaktion

2 = Cursor

3 = Sitzung

4 = ExSession

Beachten Sie, dass 3 und 4 eine besondere Version von Sitzungssperren darstellen, die entsprechend Datenbank- und Dateigruppensperren protokollieren.

req_transactionID

bigint

Eindeutige Transaktions-ID, die in syslockinfo und im Profiler-Ereignis verwendet wird.

req_transactionUOW

uniqueidentifier

Identifiziert die ID der Arbeitseinheit (UOW, Unit of Work) der DTC-Transaktion. Bei Nicht-MS DTC-Transaktionen wird UOW auf 0 festgelegt.

Berechtigungen

Erfordert die VIEW SERVER STATE-Berechtigung auf dem Server.