sys.syslockinfo (Transact-SQL)
Enthält Informationen zu allen erteilten, konvertierenden und wartenden Sperranforderungen.
Wichtig |
---|
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. |
Wichtig |
---|
Dieses Feature hat sich im Vergleich zu früheren Versionen von SQL Server geändert. Weitere Informationen finden Sie unter Fehlerhafte Änderungen an Features des Datenbankmoduls in SQL Server 2008. |
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 MicrosoftSQL 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.