|
Длительность ожидания блокировки |
☑ |
0
PsyTech
26.01.17
✎
09:59
|
Всем привет!
Есть блокировка, известен виновник и жертва. Не понятно - почему жертва так долго ждала когда отпустит, если виновник снял блокировку почти сразу:
p.s.: использовался сервис Гилева.
|
|
1
Elatiell
26.01.17
✎
10:05
|
Нужно больше информации, по одной картинке Вам ничего не скажут. Хотя бы укажите какой режим управления блокировкой данных в конфигурации? Контекст?
|
|
2
Elatiell
26.01.17
✎
10:15
|
(0) И можно поинтересоваться, с чего Вы взяли, что виновник снял блокировку сразу?
|
|
3
PsyTech
26.01.17
✎
10:21
|
(1) Точно)
SQL 2014;
Режим блокировок управляемый;
Платформа 8.2 (8.2.19.83) без режима совместимости
|
|
4
PsyTech
26.01.17
✎
10:22
|
(2) По колонке "длительность". Я наверное не правильно понял ее назначение? Т.е. там нет инфы о том, когда сколько длилась блокировка?
|
|
5
PsyTech
26.01.17
✎
10:25
|
(1)
snapshot_isolation_state_desc = OFF
is_read_committed_snapshot_on = 0
|
|
6
Elatiell
26.01.17
✎
10:28
|
(4) Колонка длительность, показывает как раз ожидание на блокировке.
|
|
7
PsyTech
26.01.17
✎
10:30
|
(6) Тогда чего ожидал виновник?
|
|
8
Elatiell
26.01.17
✎
10:35
|
(7) А что за операция происходит? Проведение документа? Обработка что-то делает?
|
|
9
Elatiell
26.01.17
✎
10:37
|
(8) Было бы здорово код процедуры посмотреть.
|
|
10
PsyTech
26.01.17
✎
10:40
|
это бух корп. жертва валится в процедуре УпорядочитьТаблицуПоДокументу
Так все-же вопрос в этом: Не понятно - почему жертва так долго ждала когда отпустит?
Разве виновник держал блокировку все это время?
|
|
11
Elatiell
26.01.17
✎
10:45
|
(10) Если мне память не изменяет, то в управляемом режиме при записи устанавливается Х блокировка и держится она до конца транзакции.
|
|
12
Elatiell
26.01.17
✎
10:45
|
(10) А Х и S не совместимы и из-за этого ожидание на блокировке происходит.
|
|
13
PsyTech
26.01.17
✎
10:57
|
(11) Так транзакция виновника 0,0001 сек, а у жертвы похоже до таймаута.
|
|
14
Elatiell
26.01.17
✎
11:01
|
(13) Транзакция виновника ожидала 0,0001 сек, чтобы установить свою блокировку.
Колонка "длительность" - это не длительность транзакции, а длительность промежутка времени, которое ожидала транзакция, чтобы установить блокировку.
|
|
15
PsyTech
26.01.17
✎
11:08
|
(13) Вот теперь ясно, спасибо!)
|
|