SET LOCK_TIMEOUT (Transact-SQL)
Gibt an, wie viele Millisekunden eine Anweisung auf die Aufhebung einer Sperre wartet.
Gilt für: SQL Server (SQL Server 2008 bis aktuelle Version), Windows Azure SQL-Datenbank (Ursprüngliche Version bis aktuelle Version). |
Transact-SQL-Syntaxkonventionen
Syntax
SET LOCK_TIMEOUT timeout_period
Argumente
timeout_period
Anzahl der Millisekunden, die vergehen, bevor Microsoft SQL Server einen Sperrfehler zurückgibt. Der Wert -1 (Standardwert) gibt an, dass keine Wartezeit festgelegt ist (d. h., es wird ewig gewartet).Wenn die Wartezeit auf eine Sperre den Timeoutwert überschreitet, wird ein Fehler zurückgegeben. Der Wert 0 gibt an, dass nicht gewartet und eine Meldung zurückgegeben wird, sobald eine Sperre auftritt.
Hinweise
Zu Beginn einer Verbindung besitzt diese Einstellung den Wert -1. Nach einer Änderung bleibt die neue Einstellung für die restliche Verbindungsdauer bestehen.
Die Einstellung von SET LOCK_TIMEOUT wird zur Ausführungszeit und nicht zur Analysezeit festgelegt.
Der READPAST-Sperrhinweis stellt eine Alternative zu dieser SET-Option dar.
CREATE DATABASE-, ALTER DATABASE- und DROP DATABASE-Anweisungen erkennen die SET LOCK_TIMEOUT-Einstellung nicht an.
Berechtigungen
Erfordert die Mitgliedschaft in der public-Rolle.
Beispiele
Im folgenden Beispiel wird der Sperrtimeout auf 1800 Millisekunden festgelegt.
SET LOCK_TIMEOUT 1800;
GO