Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Не отстреливает дедлоки / 25 сообщений из 35, страница 1 из 2
23.04.2019, 10:51
    #39805241
Danion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не отстреливает дедлоки
Добрый день.

Вчера тестовый сервер был обновлен с 2016 SP1 CU1 до 2016 SP1 CU7.
Обновление прошло нормально, но сегодня начались проблемы с дедлоками.

В текущий транзакциях на сервере две сессии взаимоблокируют друг друга, следующие висят на них.
Обычно sql server автоматом убивает одну из транзакций, но тут продолжают висеть, если не убрать руками.

С чем может быть связано и что можно сделать?
...
Рейтинг: 0 / 0
23.04.2019, 11:01
    #39805254
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не отстреливает дедлоки
Посмотрите на каких ресурсах конфликт.
Было похожее - http://www.sql.ru/forum/1223955/blokirovka-processov-drug-druga
...
Рейтинг: 0 / 0
23.04.2019, 11:16
    #39805268
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не отстреливает дедлоки
Danion,

висят потому, что это не дэдлоки.
...
Рейтинг: 0 / 0
23.04.2019, 11:19
    #39805274
Danion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не отстреливает дедлоки
invm,

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

Это обновление таблицы и селект в неё же, обычно в похожих случаях отстреливает селект.

update [TABLE] set [sync_with_lc_status] = @P1 where [AID] = @P2

select top 1500 * from [TABLE] where [sync_with_lc_status] in (@P1, @P2) and [TABLE].[Status] in (@P3, @P4, @P5, @P6) order by [cito] desc, [AID] desc

По ссылке посмотрел, но решения проблемы я там не вижу(
...
Рейтинг: 0 / 0
23.04.2019, 11:23
    #39805276
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не отстреливает дедлоки
Владислав Колосоввисят потому, что это не дэдлоки.
В строках 2 и 3 разве не дэдлок?
...
Рейтинг: 0 / 0
23.04.2019, 11:37
    #39805280
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не отстреливает дедлоки
Danion,

Покажите для этих сессий wait_resource из sys.dm_exec_requests
...
Рейтинг: 0 / 0
23.04.2019, 11:38
    #39805283
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не отстреливает дедлоки
Alibek B.Владислав Колосоввисят потому, что это не дэдлоки.
В строках 2 и 3 разве не дэдлок?

Не обязательно.

Это могут быть разные потоки одних и тех же сессий.
Данные о блокировках собираются не снапшотом. В выборке вполне можно увидеть блокировки, которые не существовали в один момент времени (на вашей картинке не видно время ожидания).
...
Рейтинг: 0 / 0
23.04.2019, 11:48
    #39805290
Danion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не отстреливает дедлоки
Эти запросы с разных серверов.
3 столбец - время выполнения, на скриншоте макс 3 минуты, но висело и 20+

Сейчас сессии
87 и 75
87 - селект
...
Рейтинг: 0 / 0
23.04.2019, 12:11
    #39805309
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не отстреливает дедлоки
Взаимоблокировки - это блокировки с положительно обратной связью: А блокирует Б, Б блокирует А и никто не хочет отпускать. Могут быть более длинные или с бОльшим количеством участников цепочки. Сервер отслеживает и прерывает выполнение одного из запросов.
...
Рейтинг: 0 / 0
23.04.2019, 12:26
    #39805318
Danion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не отстреливает дедлоки
Владислав Колосов,

Хорошее определение, но к чему оно?

Пока оставив в сторону вопрос почему автоматически не отстреливает одну из транзакций начали разбираться, что за сервера с которых идут запросы.
Выяснилось, что второй сервер был создан копированием с первого и они похоже пытаются выполнить одно и тоже.
При этом никто не сообщил, что отвечает за второй сервер и он кому-то нужен, так что пока погасили его.

Текущую проблему конечно решило, но вопрос почему sql сервер похоже не считал это взаимоблокировокой и не убирал, хотя они именно что блокировали выполнение друг друга, остаётся открытым.
...
Рейтинг: 0 / 0
23.04.2019, 12:30
    #39805320
Slava_Nik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не отстреливает дедлоки
после перехода с 14 на 16 мы тоже получили дедлоки,которые сиквел на отлавливал, в итоге написали отсрелку таких сессий.
...
Рейтинг: 0 / 0
23.04.2019, 13:43
    #39805367
AndrF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не отстреливает дедлоки
DanionВладислав Колосов,

Хорошее определение, но к чему оно?

...

Текущую проблему конечно решило, но вопрос почему sql сервер похоже не считал это взаимоблокировокой и не убирал, хотя они именно что блокировали выполнение друг друга, остаётся открытым.

ВПотому что в вашем примере нет взаимоблокировок, что вам и пытаются объяснить.
...
Рейтинг: 0 / 0
23.04.2019, 13:45
    #39805370
AndrF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не отстреливает дедлоки
[quot AndrF
Потому что в вашем примере нет взаимоблокировок, что вам и пытаются объяснить.[/quot]

Пардон, увидел таки 58-59
...
Рейтинг: 0 / 0
23.04.2019, 14:35
    #39805394
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не отстреливает дедлоки
AndrF,

это не взаимоблокировки, это конкуренция. Т.е. они по страничке между собой перебирают, мелкими шажками. Работает это медленно, много простоев, и кажется, что зависло.
...
Рейтинг: 0 / 0
23.04.2019, 14:36
    #39805395
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не отстреливает дедлоки
Там то ли куча, то ли нет нужного индекса.
...
Рейтинг: 0 / 0
23.04.2019, 14:44
    #39805401
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не отстреливает дедлоки
Владислав Колосовэто не взаимоблокировки, это конкуренцияЗабавная такая конкуренция: обе сессии в состоянии suspended и блокируют друг-друга.
Может объясните чем такая конкуренция отличается от взаимоблокировки?
...
Рейтинг: 0 / 0
23.04.2019, 15:01
    #39805413
Danion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не отстреливает дедлоки
Поддерживаю invm.

На таблице РК + не кластерные индексы.

Для данного запроса пожалуй не самые оптимальные, но обычно нормально отрабатывают.
По плану селект делает через Key Lookup (99% стоимости) + Index seek, дальше nested loops и последующая обработка.

Запрос выполняется меньше секунды, тогда висело и 30+ минут. Такая конкуренция по результату от дедлока не отличается, только сервер сам не решает проблему.
...
Рейтинг: 0 / 0
23.04.2019, 15:05
    #39805416
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не отстреливает дедлоки
Danion,

эскалация отключена?
...
Рейтинг: 0 / 0
23.04.2019, 15:32
    #39805436
Danion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не отстреливает дедлоки
TaPaK,

Флаги 1211, 1224 на этом сервер выключены. Скорее всего укрупнение включено.

Можно включать\выключать с помощью для таблицы
ALTER TABLE SET (LOCK_ESCALATION = DISABLE)
Но что-то не понял, где текущий статус пишет.
...
Рейтинг: 0 / 0
23.04.2019, 15:35
    #39805438
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не отстреливает дедлоки
DanionTaPaK,

Флаги 1211, 1224 на этом сервер выключены. Скорее всего укрупнение включено.

Можно включать\выключать с помощью для таблицы
ALTER TABLE SET (LOCK_ESCALATION = DISABLE)
Но что-то не понял, где текущий статус пишет.
а не гадать?
...
Рейтинг: 0 / 0
23.04.2019, 15:39
    #39805440
Danion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не отстреливает дедлоки
TaPaK,

На уровне сервера включено.
Для проверки на уровне таблицы просьба подсказать как проверить.
...
Рейтинг: 0 / 0
23.04.2019, 15:50
    #39805444
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не отстреливает дедлоки
Danion,

Скрипт создания таблицы
...
Рейтинг: 0 / 0
23.04.2019, 16:04
    #39805448
Danion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не отстреливает дедлоки
TaPaK,

Спасибо за ответ.
На таблице тоже включено. При этом на проде включен флаг 1224, подобной проблемы не встречал, хотя на тесте кроме этих двух запросов тоже подобного нет.
...
Рейтинг: 0 / 0
23.04.2019, 16:26
    #39805461
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не отстреливает дедлоки
Danion,

Чтобы делать какие-то осмысленные предположения нужно видеть wait_type и wait_resource взаимнозаблокированных сессий.
Но вы предпочитаете эти сведения держать в секрете.
...
Рейтинг: 0 / 0
23.04.2019, 16:49
    #39805476
Danion
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не отстреливает дедлоки
invm,

Выше в теме всё есть.
21869655
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Не отстреливает дедлоки / 25 сообщений из 35, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]