SET LOCK_TIMEOUT (Transact-SQL)SET LOCK_TIMEOUT (Transact-SQL)

SI APPLICA A: sìSQL Server sìDatabase SQL di Azure sìAzure Synapse Analytics (SQL DW) sìParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

Specifica l'intervallo in millisecondi durante il quale un'istruzione rimane in attesa del rilascio di un blocco.Specifies the number of milliseconds a statement waits for a lock to be released.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintassiSyntax

SET LOCK_TIMEOUT timeout_period  

ArgomentiArguments

timeout_periodtimeout_period
Intervallo di attesa, in millisecondi, prima che MicrosoftMicrosoft SQL ServerSQL Server restituisca un errore di blocco.Is the number of milliseconds that will pass before MicrosoftMicrosoft SQL ServerSQL Server returns a locking error. Il valore -1 (predefinito) corrisponde a nessun periodo di timeout, ovvero a un'attesa infinita.A value of -1 (default) indicates no time-out period (that is, wait forever).

Quando l'attesa per un blocco supera il valore di timeout, viene restituito un errore.When a wait for a lock exceeds the time-out value, an error is returned. Un valore uguale a 0 significa nessuna attesa e non appena viene incontrato un blocco viene visualizzato un messaggio.A value of 0 means to not wait at all and return a message as soon as a lock is encountered.

RemarksRemarks

All'inizio di una connessione tale impostazione è uguale a -1.At the beginning of a connection, this setting has a value of -1. Se viene modificata, la nuova impostazione rimane attiva per il resto della connessione.After it is changed, the new setting stays in effect for the remainder of the connection.

L'opzione SET LOCK_TIMEOUT viene impostata in fase di esecuzione, non in fase di analisi.The setting of SET LOCK_TIMEOUT is set at execute or run time and not at parse time.

L'hint di blocco READPAST è un'alternativa all'opzione SET.The READPAST locking hint provides an alternative to this SET option.

Le istruzioni CREATE DATABASE, ALTER DATABASE e DROP DATABASE non rispettano l'impostazione di SET LOCK_TIMEOUT.CREATE DATABASE, ALTER DATABASE, and DROP DATABASE statements do not honor the SET LOCK_TIMEOUT setting.

AutorizzazioniPermissions

È richiesta l'appartenenza al ruolo public .Requires membership in the public role.

EsempiExamples

A: Impostare il timeout blocco su 1800 millisecondiA: Set the lock timeout to 1800 milliseconds

Nell'esempio seguente il timeout per l'attesa del blocco viene impostato su 1800 millisecondi.The following example sets the lock time-out period to 1800 milliseconds.

SET LOCK_TIMEOUT 1800;  
GO  

Esempi: Azure Synapse Analytics (SQL DW)Azure Synapse Analytics (SQL DW) e Parallel Data WarehouseParallel Data WarehouseExamples: Azure Synapse Analytics (SQL DW)Azure Synapse Analytics (SQL DW) and Parallel Data WarehouseParallel Data Warehouse

B.B. Impostare il timeout di blocco sull'attesa infinita per il rilascio di un blocco.Set the lock timeout to wait forever for a lock to be released.

Nell'esempio seguente il timeout di blocco è impostato per l'attesa infinita e non ha scadenza.The following example sets the lock timeout to wait forever and never expire. Questo comportamento predefinito è già impostato all'inizio di ogni connessione.This is the default behavior that is already set at the beginning of each connection.

SET LOCK_TIMEOUT -1;  

Nell'esempio seguente il timeout per l'attesa del blocco viene impostato su 1800 millisecondi.The following example sets the lock time-out period to 1800 milliseconds. In questa versione, SQL Data WarehouseSQL Data Warehouse analizza correttamente l'istruzione, ma ignora il valore 1800 e continua a usare il comportamento predefinito.In this release, SQL Data WarehouseSQL Data Warehouse will parse the statement successfully, but will ignore the value 1800 and continue to use the default behavior.

SET LOCK_TIMEOUT 1800;  

Vedere ancheSee Also

@@LOCK_TIMEOUT (Transact-SQL) @@LOCK_TIMEOUT (Transact-SQL)
Istruzioni SET (Transact-SQL)SET Statements (Transact-SQL)