Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Непонятно с режимом блокировки в dedlock  [new]
Андрей_Батькович
Member

Откуда:
Сообщений: 82
Здравствуйте.
Помогите пожалуйста разобраться с режимом блокировки в графе взаимной блокировки.
Почему возникает сам deadlock мне понятно.
Но мне не понятно, почему при использовании уровня изоляции SERIALIZABLE, в графе присутствуют X блокировки.
Разве там не должны быть только Range блокировки?

К сообщению приложен файл (Deadlock.zip - 1Kb) cкачать
11 фев 15, 12:22    [17249172]     Ответить | Цитировать Сообщить модератору
 Re: Непонятно с режимом блокировки в dedlock  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37068
Андрей_Батькович
Но мне не понятно, почему при использовании уровня изоляции SERIALIZABLE, в графе присутствуют X блокировки.
Наверное потому, что ваши запросы _модифицируют_ данные.
11 фев 15, 13:02    [17249510]     Ответить | Цитировать Сообщить модератору
 Re: Непонятно с режимом блокировки в dedlock  [new]
invm
Member

Откуда: Москва
Сообщений: 9405
Андрей_Батькович
Но мне не понятно, почему при использовании уровня изоляции SERIALIZABLE, в графе присутствуют X блокировки.
Разве там не должны быть только Range блокировки?
На serializable, для предиката эквивалетности на уникальном индексе Range-блокировки не требуются и используются обычные.
11 фев 15, 13:08    [17249551]     Ответить | Цитировать Сообщить модератору
 Re: Непонятно с режимом блокировки в dedlock  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37068
У вас наверное поле _Fld357 участвует в каких-то индексах. При модификации этих индексов как раз x-lock и будет.
11 фев 15, 13:11    [17249581]     Ответить | Цитировать Сообщить модератору
 Re: Непонятно с режимом блокировки в dedlock  [new]
msLex
Member

Откуда:
Сообщений: 8191
invm
Андрей_Батькович
Но мне не понятно, почему при использовании уровня изоляции SERIALIZABLE, в графе присутствуют X блокировки.
Разве там не должны быть только Range блокировки?
На serializable, для предиката эквивалетности на уникальном индексе Range-блокировки не требуются и используются обычные.

только если обновляется существующая запись

Сообщение было отредактировано: 11 фев 15, 14:38
11 фев 15, 14:12    [17250147]     Ответить | Цитировать Сообщить модератору
 Re: Непонятно с режимом блокировки в dedlock  [new]
Андрей_Батькович
Member

Откуда:
Сообщений: 82
invm,

Спасибо за ответ.

Да, индекс действительно уникальный, но почему тогда для другого запроса была поставлена Range блокировка?
Ведь там тоже запрос на обновление по тому же индексу с теми же условиями.
11 фев 15, 14:50    [17250450]     Ответить | Цитировать Сообщить модератору
 Re: Непонятно с режимом блокировки в dedlock  [new]
invm
Member

Откуда: Москва
Сообщений: 9405
Андрей_Батькович,

У вас X и RangeX-X на индексах разных таблиц.
11 фев 15, 15:00    [17250530]     Ответить | Цитировать Сообщить модератору
 Re: Непонятно с режимом блокировки в dedlock  [new]
Андрей_Батькович
Member

Откуда:
Сообщений: 82
invm,
Почему на разных?
На _AccumRgT22 есть как X так и RangeX-X блокировка.
11 фев 15, 17:34    [17251729]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить