![]() |
|
Длительность ожидания блокировки | ☑ | ||
---|---|---|---|---|
0
PsyTech
26.01.17
✎
09:59
|
Всем привет!
Есть блокировка, известен виновник и жертва. Не понятно - почему жертва так долго ждала когда отпустит, если виновник снял блокировку почти сразу: http://prntscr.com/e0h14p 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) Вот теперь ясно, спасибо!)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |