1222: Lock request time out period exceeded (Timeout der Sperranforderung überschritten)
SQL ServerWas bedeutet das?
Der Timeout einer Abfrage ist abgelaufen, während sie auf eine Sperre gewartet hat. Die Anforderung wurde abgebrochen, weil eine andere Transaktion die benötigte Ressource zu lange gesperrt hielt.
Ursache
Überschreiten der mit SET LOCK_TIMEOUT festgelegten Wartezeit, lang laufende blockierende Transaktionen, offene nicht committete Transaktionen, lange Scans und Sperrkonflikte.
Lösung
Finde den Blocker: Untersuche sys.dm_exec_requests, sys.dm_tran_locks und die Spalte blocking_session_id oder verwende sp_who2 / sp_whoisactive. Verkürze lange Transaktionen und committe sie. Passe LOCK_TIMEOUT bei Bedarf an. Reduziere auf leselastigen Systemen Leser-Schreiber-Konflikte mit RCSI/Snapshot Isolation.
Weitere Einträge zu dieser Datenbank
- 18456Login failed for user (Anmeldung für Benutzer fehlgeschlagen)
- 8152String or binary data would be truncated (String- oder Binärdaten würden abgeschnitten)
- 2628String or binary data would be truncated in table, column ...; truncated value (Daten würden in Tabelle/Spalte abgeschnitten; abgeschnittener Wert)
- 9002The transaction log for database is full due to ... (Transaktionslog der Datenbank ist voll wegen ...)
- 1105Could not allocate space for object in database because the filegroup is full (kein Platz für Objekt, da die Dateigruppe voll ist)
- 208Invalid object name (ungültiger Objektname)
- 229The SELECT/EXECUTE permission was denied on the object (SELECT-/EXECUTE-Berechtigung für das Objekt verweigert)