SET LOCK_TIMEOUT (Transact-SQL)
Berlaku untuk: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Menentukan jumlah milidetik pernyataan menunggu kunci dilepaskan.
Sintaks
SET LOCK_TIMEOUT timeout_period
Argumen
timeout_period
Adalah jumlah milidetik yang akan berlalu sebelum Microsoft SQL Server mengembalikan kesalahan penguncian. Nilai -1 (default) menunjukkan tidak ada periode waktu habis (yaitu, tunggu selamanya).
Saat menunggu kunci melebihi nilai waktu habis, kesalahan dikembalikan. Nilai 0 berarti tidak menunggu sama sekali dan mengembalikan pesan segera setelah kunci ditemui.
Keterangan
Di awal koneksi, pengaturan ini memiliki nilai -1. Setelah diubah, pengaturan baru tetap berlaku untuk sisa koneksi.
Pengaturan SET LOCK_TIMEOUT diatur pada waktu eksekusi atau run time dan bukan pada waktu penguraian.
Petunjuk penguncian READPAST menyediakan alternatif untuk opsi SET ini.
Pernyataan CREATE DATABASE, ALTER DATABASE, dan DROP DATABASE tidak mematuhi pengaturan SET LOCK_TIMEOUT.
Izin
Memerlukan keanggotaan dalam peran publik .
Contoh
A: Atur batas waktu penguncian ke 1800 milidetik
Contoh berikut mengatur periode batas waktu kunci ke 1800
milidetik.
SET LOCK_TIMEOUT 1800;
GO
Contoh: Azure Synapse Analytics and Analytics Platform System (PDW)
B. Atur batas waktu penguncian untuk menunggu selamanya agar kunci dilepaskan.
Contoh berikut mengatur batas waktu penguncian untuk menunggu selamanya dan tidak pernah kedaluwarsa. Ini adalah perilaku default yang sudah diatur di awal setiap koneksi.
SET LOCK_TIMEOUT -1;
Contoh berikut mengatur periode batas waktu kunci ke 1800
milidetik. Dalam rilis ini, Azure Synapse Analytics akan berhasil mengurai pernyataan, tetapi akan mengabaikan nilai 1800 dan terus menggunakan perilaku default.
SET LOCK_TIMEOUT 1800;