2016-08-26 3 views
1

Я следовал примеру here из sys.dm_tran_locks, но вместо второго сеанса блокируется до откат первого сеанса, мне нужно, чтобы он автоматически сработал, если существует блокировка, возможно подождите немного времени, прежде чем он потерпит неудачу.Сбой, если в SQL Server существует блокировка объекта

Есть ли какой-либо параметр, который я мог бы настроить для получения этого поведения? Другие решения приветствуются.

+0

Это не совсем понятно, что вы здесь просите. –

+0

Обычно блокировка на столе блокирует другие изменения в этой таблице. Я хочу, чтобы, когда другие пытались изменить данные в этой таблице, они получают ошибку вместо того, чтобы оставаться в ожидании разблокировки. –

ответ

2

, но вместо второго сеанса блокируется до откат первого сеанса, мне нужно, чтобы он автоматически сработал, если существует блокировка, возможно, дождаться небольшого количества времени, прежде чем он сработает.

вам нужно будет добавить SET варианты запроса

SET LOCK_TIMEOUT 1800; --milliseconds 
GO 

при запуске выше запрос во второй сессии, он будет ждать только в течение заданного времени и будет возвращать ошибку

+0

спасибо, должен ли он быть установлен для каждой сессии? –

+0

yes.for каждой сессии, где вам нужно поведение – TheGameiswar