Freigeben über


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).

Themenlink (Symbol) 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

Siehe auch

Verweis

@@LOCK_TIMEOUT (Transact-SQL)

SET-Anweisungen (Transact-SQL)