SET LOCK_TIMEOUT (Transact-SQL)

 

DIESES THEMA GILT FÜR:jaSQL Server (ab 2008)jaAzure SQL-DatenbankjaAzure SQL Data Warehouse jaParallel Data Warehouse

Gibt die Anzahl der Millisekunden, die eine Anweisung wartet, eine Sperre aufgehoben wird.

Topic link icon Transact-SQL-Syntaxkonventionen

-- Syntax for SQL Server, Azure SQL Database, Azure SQL Data Warehouse, Parallel Data Warehouse  
  
SET LOCK_TIMEOUT timeout_period  

timeout_period
Ist die 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, dass nicht gewartet und eine Meldung zurückgegeben, sobald eine Sperre auftritt.

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.

Erfordert die Mitgliedschaft in der public -Rolle.

A: das Sperrtimeout auf 1800 Sekunden festgelegt

Im folgenden Beispiel wird der Sperrtimeout auf 1800 Millisekunden festgelegt.

SET LOCK_TIMEOUT 1800;  
GO  

B. Legen Sie das Sperrungstimeout ewig warten, bis eine Sperre aufgehoben wird.

Im folgenden Beispiel wird der Sperrtimeout ewig warten und laufen nie ab. Dies ist das Standardverhalten, das am Anfang jeder Verbindung bereits festgelegt ist.

SET LOCK_TIMEOUT -1;  

Im folgenden Beispiel wird der Sperrtimeout auf 1800 Millisekunden festgelegt. In dieser Version SQL Data Warehouse analysieren Sie die Anweisung erfolgreich, aber werden ignoriert den Wert 1800 und weiterhin das Standardverhalten zu verwenden.

SET LOCK_TIMEOUT 1800;  

@@LOCK_TIMEOUT (Transact-SQL)
SET-Anweisungen (Transact-SQL)

Community-Beiträge

HINZUFÜGEN
Anzeigen: