powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Ожидание блокировки локальной временной таблицы
81 сообщений из 81, показаны все 4 страниц
Ожидание блокировки локальной временной таблицы
    #39710722
Олегон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Microsoft SQL Server 2014 (SP2-CU10-GDR) (KB4052725) - 12.0.5571.0 (X64) Jan 10 2018 15:52:08 Copyright (c) Microsoft Corporation Enterprise Edition: Core-based Licensing (64-bit) on Windows NT 6.2 <X64> (Build 9200: ) (Hypervisor)

Второй раз уже наблюдаю ситуацию. Зависает сессия с ожиданием LCK_M_SCH_M. В сессии работает хранимая процедура, в которой неоднократно выполняется запуск другой хранимой процедуры, внутри которой создаются и используются локальные временные таблицы (if object_id ... is not null drop table ... create table ...).
syslockinfo показывает (см. вложение) ожидание на одну из этих локальных временных таблиц. Не могу понять, что происходит.
Что означает, что есть блокировка (granted) на эту таблицу с transaction_id = 5448341393, а с другим transaction_id = 5448332983 блокировка Waiting?
В какую сторону смотреть, чтоб разобраться?

Предыдущий раз разрешился только перезапуском службы. KILL сессии никаких результатов не дал - так и весел несколько часов с 0% выполнения, хотя по сессии не было какой-то огромной транзакции, которая кучу бы чего изменила.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39710726
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Олегон,

гугл говорит, что LCK_M_SCH_M ожидание на блокировку изменения схемы. Все блокировки это вопрос уровня изоляции. Начните с выяснения какой уровень изоляции у вас установлен для выполнения вашей исходной ХП.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39710727
Олегон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дополню. В логах SQL-сервера в обоих случаях:

* Unresolved deadlock
Deadlock monitor failed to resolve one or more deadlocks.
Server may require restart to recover from this condition.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39710729
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОлегонДополню. В логах SQL-сервера в обоих случаях:

* Unresolved deadlock
Deadlock monitor failed to resolve one or more deadlocks.
Server may require restart to recover from this condition.

Ну это все, что вам нужно знать, собственно. Deadlock.

Учитывая
Олегонхранимая процедура, в которой неоднократно выполняется запуск другой хранимой процедуры, внутри которой создаются и используются локальные временные таблицы
тут надо смотреть на алгоритм ваших ХП и фиксить логику, которая приводит к таким дедлокам.
Это боевой сервер? Вы можете обратиться к разработчику вашей базы за помощью?
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39710738
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Олегон,

Ну на tempdb достаточно старая проблема, сколько файлов у базы?
Тут больше про последнее, но уктально в общем для всех
https://support.microsoft.com/az-latn-az/help/4131193/performance-issues-occur-in-form-of-pagelatch-ex-and-pagelatch-sh-wait
https://blogs.msdn.microsoft.com/sql_server_team/tempdb-files-and-trace-flags-and-updates-oh-my/
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39710746
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PizzaPizzaОлегон,

гугл говорит, что LCK_M_SCH_M ожидание на блокировку изменения схемы. Все блокировки это вопрос уровня изоляции. Начните с выяснения какой уровень изоляции у вас установлен для выполнения вашей исходной ХП.
да что вы говорите.
и на каком же уровне изоляции SCH-M кого-то не остановит?
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39710749
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОлегонЧто означает, что есть блокировка (granted) на эту таблицу с transaction_id = 5448341393, а с другим transaction_id = 5448332983 блокировка Waiting?

5448341393 читает, 5448332983 пытается изменить саму таблицу, например, колонку добавляет.
разумеется, ждет, пока первая транзакция отпустит таблицу, нельзя же ее модифицировать,
пока есть читатели
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39710753
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123PizzaPizzaОлегон,

гугл говорит, что LCK_M_SCH_M ожидание на блокировку изменения схемы. Все блокировки это вопрос уровня изоляции. Начните с выяснения какой уровень изоляции у вас установлен для выполнения вашей исходной ХП.
да что вы говорите.
и на каком же уровне изоляции SCH-M кого-то не остановит?
гугл ему это не сказал :)
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39710776
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123PizzaPizzaОлегон,

гугл говорит, что LCK_M_SCH_M ожидание на блокировку изменения схемы. Все блокировки это вопрос уровня изоляции. Начните с выяснения какой уровень изоляции у вас установлен для выполнения вашей исходной ХП.
да что вы говорите.
и на каком же уровне изоляции SCH-M кого-то не остановит?

Вопрос не в остановит-неостановит, а в понимании спрашивающим с чем он столкнулся. Если человек видит блокировку и, допустим, не знаком с изоляциями, то совет тут только один - обратиться к разработчику.
Не будете же вы, в самом деле, советовать на боевом и неизвестном вам сервере что то делать с неизвестной вам логикой.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39710777
Олегон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaK Ну на tempdb достаточно старая проблема, сколько файлов у базы?
Файлов 16. Ядер CPU: 32
Планируем увеличить, прибавив 4 файла, т.к. стали наблюдать PAGELATCH_UP при нагрузке.

Yasha123 5448341393 читает, 5448332983 пытается изменить саму таблицу, например, колонку добавляет.
разумеется, ждет, пока первая транзакция отпустит таблицу, нельзя же ее модифицировать,
пока есть читатели

Как это может происходить в одной и той же сессии?
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39710780
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Олегон,

авторПланируем увеличить, прибавив 4 файла, т.к. стали наблюдать PAGELATCH_UP при нагрузке.
ну UP это не к IO относится. Так то общая рекомендация на CPU = количество файлов, но и если не ошибаюсь то были и о том что много тоже не очень хорошо. Посмотрите что в ожиданиях, если там что то типа sysobjvalues то тут точно файлами не решить
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39710789
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОлегонКак это может происходить в одной и той же сессии?
я же не вижу ваш код.
попробуйте пошариться в system_health,
может, там есть инфо о дедлоке,
хотя бы будет текст конфликтующих процессов.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
WITH SystemHealth
AS 
(
SELECT CAST(target_data as xml) AS TargetData
FROM sys.dm_xe_session_targets st
       JOIN sys.dm_xe_sessions s ON s.address = st.event_session_address
WHERE name = 'system_health'
AND st.target_name = 'ring_buffer'
)
 
SELECT XEventData.XEvent.query('(data/value/deadlock)[1]') AS DeadLockGraph
FROM SystemHealth
       CROSS APPLY TargetData.nodes('//RingBufferTarget/event') AS XEventData (XEvent)
WHERE XEventData.XEvent.value('@name','varchar(4000)') = 'xml_deadlock_report';


с другой стороны, раз дедлок не резолвился,
может и графа никакого нет.
---
в логе можно было посмотреть, что за транзакции
(sys.fn_dblog())
теперь уже наверное лог перезатеря,
а вот system_health может еще и нет.
ну или выставьте TF 1222, пусть графы в еррорлог валятся
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39710790
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PizzaPizzaYasha123пропущено...

да что вы говорите.
и на каком же уровне изоляции SCH-M кого-то не остановит?

Вопрос не в остановит-неостановит, а в понимании спрашивающим с чем он столкнулся. Если человек видит блокировку и, допустим, не знаком с изоляциями, то совет тут только один - обратиться к разработчику.
Не будете же вы, в самом деле, советовать на боевом и неизвестном вам сервере что то делать с неизвестной вам логикой.
достали уже неучи лезть с ценными советами.
еще раз, дарагуля, ответь на конкретный воппрос:
какой же надо выставить уровень изоляции процедуре ТС,
чтобы получить SCH-M на таблицу при имеющихся читателях таблицы?
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39710796
Олегон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yasha123с другой стороны, раз дедлок не резолвился,
может и графа никакого нет.

Графа нет - вместо него сообщение об ошибке. Флаг включён.
Процесс всё ещё висит (я так понимаю, в заблокированном глючном состоянии, раз его не смог сервер прибить).
sys.fn_dblog() пока не даёт посмотреть - отваливается по тайм-ауту.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39710797
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Олегон,

процесс ждёт чего?
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39710799
Олегон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я в самом начале написал. Внутри одной и той же сессии взаимоблокировка. Резолв Deadlock'а не среботал - вывалился в ошибку (запись в журнале).
Теперь сессия вот в таком состоянии (см. скриншот).
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39710800
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123,

Ответ простой: уровень изоляции 42 надо поставить.
И сразу вам вопрос: как можно откатить транзакцию используя партицирование?
Правда это выглядит странно - задавать бессмысленный вопрос нерелевантный контексту?

FYI " Unresolved deadlock" имеет не так много упоминаний и они все легко гуглятся. Пробуйте своими мощными экстрасенсорными способностями помочь ТС с такого уровня проблемами... Дорогуша.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39710815
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PizzaPizzaYasha123,

Ответ простой: уровень изоляции 42 надо поставить.
И сразу вам вопрос: как можно откатить транзакцию используя партицирование?
Правда это выглядит странно - задавать бессмысленный вопрос нерелевантный контексту?

FYI " Unresolved deadlock" имеет не так много упоминаний и они все легко гуглятся. Пробуйте своими мощными экстрасенсорными способностями помочь ТС с такого уровня проблемами... Дорогуша.
я так понимаю, это вещает клон Andy или его ближайший соратник по партии?
какого же тогда хрена doppia Pizza спрашивала
"Начните с выяснения какой уровень изоляции у вас установлен для выполнения вашей исходной ХП."
ведь это и есть это самое:
"Правда это выглядит странно - задавать бессмысленный вопрос нерелевантный контексту ?"
не форум, натуральное болото
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39710817
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Олегон,

в общем я по прежнему склонен думать что это таже проблема что и описанная в ссылкае, в вашем случае как раз слудющий CU её и правит
https://support.microsoft.com/en-us/help/4090320/significantly-increased-pagelatch-ex-contentions-in-sys-sysobjvalues.

А так, судя по всему рестарт как все спать уйдут
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39710818
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PizzaPizzaYasha123,

Ответ простой: уровень изоляции 42 надо поставить.
И сразу вам вопрос: как можно откатить транзакцию используя партицирование?
Правда это выглядит странно - задавать бессмысленный вопрос нерелевантный контексту?

FYI " Unresolved deadlock" имеет не так много упоминаний и они все легко гуглятся. Пробуйте своими мощными экстрасенсорными способностями помочь ТС с такого уровня проблемами... Дорогуша.
Козловсике вернулись?
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39710824
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Олегон,

пробуйте sys.fn_dblog() с nolock,
и не весь, с фильтром по ид транзакции.

в одной сессии наверное может быть,
если вторая транзакция системная.

не могу придумать, зачем может понадобиться sch-m.
наверное, чтобы дроп сделать.
вы зачем внутри процедуры дропаете то, что само должно умереть?
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39710825
Олегон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaKОлегон,

в общем я по прежнему склонен думать что это таже проблема что и описанная в ссылкае, в вашем случае как раз слудющий CU её и правит
https://support.microsoft.com/en-us/help/4090320/significantly-increased-pagelatch-ex-contentions-in-sys-sysobjvalues.

А так, судя по всему рестарт как все спать уйдут

Ясно. Спасибо за мысль. В планах на этот месяц была установка CU13.
Рестартанём, конечно. В предыдущий случай так и сделали. Не хочется таким образом решать, т.к. не понятна причина появления такой ситуации, т.к. изменений в конфигурации или в коде не было.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39710826
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKКозловсике вернулись?

бесит то, что в кои-то веки что-то интересное нарисовалось,
и то в топике сразу же срет чей-то клон.
чего потом удивляться, что сюда людям заглядывать неохота
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39710834
Олегон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yasha123Олегон,
не могу придумать, зачем может понадобиться sch-m.
наверное, чтобы дроп сделать.
вы зачем внутри процедуры дропаете то, что само должно умереть?

Привычка, наверное... При разработке, отладки удобно.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39710837
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОлегонYasha123Олегон,
не могу придумать, зачем может понадобиться sch-m.
наверное, чтобы дроп сделать.
вы зачем внутри процедуры дропаете то, что само должно умереть?

Привычка, наверное... При разработке, отладки удобно.
ну для понимания, ремоендация ms по этому

авторDo not explicitly drop temp tables at the end of a stored procedure, they will get cleaned up when the session that created them ends.
Do not alter temp tables after they have been created.
Do not truncate temp tables
Move index creation statements on temp tables to the new inline index creation syntax that was introduced in SQL Server 2014.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39710839
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123какого же тогда хрена


Ответ простой и я его уже дал. Пробуйте осмыслить.
У человека по описанию блок, а в логе - баг.
Если это баг я полагаю вы сотрудник МС и собираетесь выкатить/порекомендовать фикс.

Если вы не собираетесь выкатить фикс, то нам остаётся надеяться, что ТС напихает в процедуры логирования, зацепит проблемное место и расскажет в чем дело и как исправилось.

А пока что это все разговоры в пользу бедных и гадание на переменных.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39710841
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot TaPaK]авторDo not truncate temp tables

Это шо, delete делать что-ле?
Занафига?
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39710843
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot aleks222]TaPaKпропущено...

Это шо, delete делать что-ле?
Занафига?
ну некоторые транкейтят как шаблон в конце процедур.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39710844
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что-то подобное аж в 2008-ом:
SPID Blocking itself with Sch-S on a table variable
никак не разрешилось.
но подтверждает, что внутренний дроп производится в своей транзакции
авторTable variables (and TVF return tables) are not transactional as far as the user is concerned, but internally all operations on table variables run under a seperate transaction from the user transaction. The SCH-S lock is required to compile a plan using the table variable. It is acquired using the users transaction. If a fatal error occurs during the compile (say out of memory), we need to drop the table backing a table variable - this requires a SCH-M lock using the table variables transaction. Thus, this turn of events results in a self-deadlock. Normaly the SCH-S is released before the SCH-M is required, but during stress certain code paths don't do this.


Unfortunately, I don't know of anyway to kill this SPID once the self-deadlock has occured and there is no publicly available biuld with a fix. The (somewhat) good news is, if your server is not under stress you shouldn't see this happening. Contact customer support if you require a fix.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39710880
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123PizzaPizzaYasha123,

Ответ простой: уровень изоляции 42 надо поставить.
И сразу вам вопрос: как можно откатить транзакцию используя партицирование?
Правда это выглядит странно - задавать бессмысленный вопрос нерелевантный контексту?

FYI " Unresolved deadlock" имеет не так много упоминаний и они все легко гуглятся. Пробуйте своими мощными экстрасенсорными способностями помочь ТС с такого уровня проблемами... Дорогуша.
я так понимаю, это вещает клон Andy или его ближайший соратник по партии?
какого же тогда хрена doppia Pizza спрашивала
"Начните с выяснения какой уровень изоляции у вас установлен для выполнения вашей исходной ХП."
ведь это и есть это самое:
"Правда это выглядит странно - задавать бессмысленный вопрос нерелевантный контексту ?"
не форум, натуральное болото
Анна, я Вас умоляю, ну станьте модератором и посмотрите его IP и мои - я всегда вхожу на этот форум исключительно с ленинградских IP, таки знаете, ностальгия. И хватит нервничать, никакой партии и никаких соратников, тут серьезные разработчики решают серьезные вопросы, а Вам все Козловы видятся в каждом.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39710895
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andy_OLAPя всегда вхожу на этот форум исключительно с ленинградских IPДаже такой "бывший перт" как вы, знает о прокси и анонимайзерах.
И вы, в рамках свих психологическо-ксенофобских экспериментов, вполне способны пользоваться этими механизмами.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39710897
0wl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
0wl
Гость
Andy_OLAPтут серьезные разработчики решают серьезные вопросы

Оно и видно: один на голубом глазу изменением уровня изоляции лечит блокировку схемы. И вместо того, чтобы просто признать, что был неправ, начинает рассказывать, как космические корабли бороздят большой театр. А другой -- кулхакер-деанонимизатор -- всем очень-очень тонко намекает, что знает гораздо больше, чем говорит.
Все так серьезно, что не до улыбок.


По теме: если сессия блочит сама себя -- может, как временное решение, запустить ее с MaxDOP 1? Да, топором от головной боли, но может помочь сбить пламя пожара. Ну и, как писали по одной из ссылок выше, проверьте, что флаг 1118 стоит
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39710899
Фотография Maxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andy_OLAPАнна, я Вас умоляю
...... ег вроде не Анной кличут по факту :)
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39710901
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxxAndy_OLAPАнна, я Вас умоляю
...... ег вроде не Анной кличут по факту :)
Если я буду называть ее Яшой - она еще больше обидится. Вам таки нужны на форуме сильно разозленные участницы? Я сильно сомневаюсь.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39711119
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot TaPaK]aleks222пропущено...

ну некоторые транкейтят как шаблон в конце процедур.
Я транкейтю для повторного использования.
Шо мне типерь делать?
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39711179
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andy_OLAPтут серьезные разработчики решают серьезные вопросы, а Вам все Козловы видятся в каждом.

О да. Серьезные разработчики, которые решают проблемы кода путем плясок с конфигурацией сервера. А чо, у нас дедлок и локмонитор крашится, давай еще накинем ядер или памяти. На первое время поможет (ну да, поможет).

Да и эти серьезные разработчики читать не очень любят - ТС в цикле работает с #таблицами, и ему совет - а вы их не убивайте. Конечно серьезные разработчики экстрасенсы и "знают", что логика ТС позволяет оставлять эти таблицы в памяти на всю сессию, ну и "всем очевидно", что сбор мусора дешевле силами самого сервера.

0wlодин на голубом глазу изменением уровня изоляции лечит блокировку схемы
Еще раз - вопрос был понимании работает ли ТС с этой базой или "знакомый попросил посмотреть". Преклоняюсь перед местными жителями, которые с порога, видимо наложением куда то рук, видят конфигурацию сервера, тексты процедур, планы выполнения и плюс к этому сразу понимают пишет ли это DBA, девелопер или секретарь.

И кстати да, MaxDOP вполне может помочь. Но понравится ли ТС увеличение времени исполнения? Кого это волнует! Больше советов!
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39711212
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PizzaPizzaЕще раз - вопрос был понимании работает ли ТС с этой базой или "знакомый попросил посмотреть". Преклоняюсь перед местными жителями, которые с порога, видимо наложением куда то рук, видят конфигурацию сервера, тексты процедур, планы выполнения и плюс к этому сразу понимают пишет ли это DBA, девелопер или секретарь.И как знание перечисленного поможет в диагностике причин проблемы?
PizzaPizzaВсе блокировки это вопрос уровня изоляции. Начните с выяснения какой уровень изоляции у вас установлен для выполнения вашей исходной ХП.Поясните каким образом, при ожидании на Sch-M, уровень изоляции блокируемой или блокирующей сессии будет на это ожидание влиять?
PizzaPizzaИ кстати да, MaxDOP вполне может помочь.За счет чего, при ожидании на Sch-M?
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39711217
0wl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
0wl
Гость
invmPizzaPizzaИ кстати да, MaxDOP вполне может помочь.За счет чего, при ожидании на Sch-M?

За счет того, что у ТС сессия блокируется сама собой (где-то выше был скриншот).

Вообще, вся ситуация очень похожа на дедлоки из-за параллезма (которые суть -- ошибки движка и должны исправляться в CU), только сессии столкнулись не на ExchangeEvent, а на одном и том же адресе временной таблицы (чего тоже быть не должно, в этом и ошибка). То есть, все полезное, со ссылками, по теме уже было сказано выше, надо бы дождаться результата применения.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39711236
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invmИ как знание перечисленного поможет в диагностике причин проблемы?
Никак не поможет. Это простой наводящий вопрос имеющий целью получить чуть больше информации о проблеме. В частности работает ли ТС непосредственно с кодом или же код не доступен и ТС пытается решить проблему конфигурацией сервера.

invmПоясните каким образом, при ожидании на Sch-M, уровень изоляции блокируемой или блокирующей сессии будет на это ожидание влиять?
Никаким. Это было обобщение, грубоватое, да. См. выше.

PizzaPizzaИ кстати да, MaxDOP вполне может помочь.
invmЗа счет чего, при ожидании на Sch-M?

Так как мы все тут тыкаем пальцами в небо я тоже могу предположить окружение. Допустим у ТС запускается множество сессий в них множество ХП со своими вызовами ХП и еще и операции на схему и это все в параллель, тогда, при возникновении ошибки/дедлока у сервера начинаются проблемы с очередями/буферами/планировщиками приводящие к краху/ошибкам локмонитора и (дальше полная спекуляция, что может произойти если локмонитор не справился) невозможности выполнения/отката транзакций сессии и она виснет.
Уменьшение параллелизма должно уменьшить количество объектов/блокировок для менеджмента и, наверное, количество дедлоков в принципе. Вопрос в том, что никто не знает есть ли конкретный запрос, на который поможет поставить MaxDOP и как это повлияет на производительность. А по моему, тут надо в код смотреть и, по возможности, минимизировать/изолировать как то возможные проблемы блокировок. Хотя конечно все зависит от проекта, и где то проще пойти по экстенсивному пути ради производительности.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39711248
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
0wlЗа счет того, что у ТС сессия блокируется сама собой (где-то выше был скриншот).Это однозначный критерий наличия параллелизма?
Можете продемонстрировать параллелизм с наложением Sch-M?
Я знаю один такой вариант - создание/перестроение/удаление индекса. Считаете у ТС именно этот случай?
0wlВообще, вся ситуация очень похожа на дедлоки из-за параллезмаСитуация похожа на дедлок разных транзакций в пределах одной сессии. И является багом.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39711255
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PizzaPizzaТак как мы все тут тыкаем пальцами в небо я тоже могу предположить окружение. Допустим у ТС запускается множество сессий в них множество ХП со своими вызовами ХП и еще и операции на схему и это все в параллель, тогда, при возникновении ошибки/дедлока у сервера начинаются проблемы с очередями/буферами/планировщиками приводящие к краху/ошибкам локмонитора и (дальше полная спекуляция, что может произойти если локмонитор не справился) невозможности выполнения/отката транзакций сессии и она виснет.Теперь наложите на вашу гипотезу тот факт, что у ТС проблема в пределах одной сессии.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39711278
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invmТеперь наложите на вашу гипотезу тот факт, что у ТС проблема в пределах одной сессии.

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

У вас есть ответ? Расскажите. Мне интересно, я никогда не сталкивался с такими нагрузками как у тс и с удовольствием новую информацию съем.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39711307
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PizzaPizzaЯ не вижу проблемы с тем, что это одна сессия.Вот и объясните как, в пределах одной сессии, получить ожидание на Sch-M при maxdop > 1 и не получить с maxdop = 1. Учитывая, что на уровне пакета выполнение инструкций всегда последовательное.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39711316
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PizzaPizza с удовольствием новую информацию съем.
https://getyarn.io/yarn-clip/00862414-b0ec-4edb-a710-eb6efd4076b8
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39711317
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invmPizzaPizzaЯ не вижу проблемы с тем, что это одна сессия.Вот и объясните как, в пределах одной сессии, получить ожидание на Sch-M при maxdop > 1 и не получить с maxdop = 1. Учитывая, что на уровне пакета выполнение инструкций всегда последовательное.

Ожидание в любом случае будет, но вопрос то не в ожидании, а в том, к чему оно приводит иногда.
Опять допустим: Может в пределах одной сессии запущено несколько экземпляров ХП? В этом случае будут ли выполняться одновременно и конкурировать за ресурсы? Если ХП выполняются одновременно и каждая в параллель, то возможно ли, что некоторое сочетание шагов выполнения этих ХП создаёт слишком много дедлоков на малое количество ресурсов и локмонитор тупо не справляется?
Если это все предположить возможным, то тупое уменьшение количества тасков даст серверу разобраться с сессией.
Это все конечно если допустить, что в коде ХП нет логики, которая дополнительно провоцирует массовые дедлоки.

Вообще когда идёт речь про локи/вейты, то я бы сразу смотрел в lock counters. Видимо все участники дискуссии ознакомлены с этими данными...
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39711321
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PizzaPizzaОжидание в любом случае будет, но вопрос то не в ожидании, а в том, к чему оно приводит иногда.
Опять допустим: Может в пределах одной сессии запущено несколько экземпляров ХП? В этом случае будут ли выполняться одновременно и конкурировать за ресурсы?Вам было бы неплохо, прежде чем выдвигать различные теории, изучить матчасть.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39711332
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PizzaPizzainvmпропущено...
Вот и объясните как, в пределах одной сессии, получить ожидание на Sch-M при maxdop > 1 и не получить с maxdop = 1. Учитывая, что на уровне пакета выполнение инструкций всегда последовательное.

Ожидание в любом случае будет, но вопрос то не в ожидании, а в том, к чему оно приводит иногда.
Опять допустим: Может в пределах одной сессии запущено несколько экземпляров ХП? В этом случае будут ли выполняться одновременно и конкурировать за ресурсы? Если ХП выполняются одновременно и каждая в параллель, то возможно ли, что некоторое сочетание шагов выполнения этих ХП создаёт слишком много дедлоков на малое количество ресурсов и локмонитор тупо не справляется?
Если это все предположить возможным, то тупое уменьшение количества тасков даст серверу разобраться с сессией.
Это все конечно если допустить, что в коде ХП нет логики, которая дополнительно провоцирует массовые дедлоки.

Вообще когда идёт речь про локи/вейты, то я бы сразу смотрел в lock counters. Видимо все участники дискуссии ознакомлены с этими данными...

простите господи - это ересь.

лок монитор нормально со всем справляется. графа у ТС нет потому что две транзакции в рамках одной сессии, он просто не сможет выбрать жертву для abort-операции, потому что жертвой в данном случае будет выступать та же самая сессия.

лично мне интересно что за вторая транзакция, по transaction_id можно бы было посмотреть в sys.dm_tran_database_transactions ее тип и состояние.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39711335
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invmPizzaPizzaОжидание в любом случае будет, но вопрос то не в ожидании, а в том, к чему оно приводит иногда.
Опять допустим: Может в пределах одной сессии запущено несколько экземпляров ХП? В этом случае будут ли выполняться одновременно и конкурировать за ресурсы?Вам было бы неплохо, прежде чем выдвигать различные теории, изучить матчасть.

Согласен. Для этого форум очень хорошо подходит.
Понимаю, что допущение невозможное об одновременности. Но оно не исключающее. Вариант с конкурирующими сессиями за общие ресурсы остаётся. Вейт на блокировку локальной временной таблицы это просто операция, которую видно последней и на которой одна из сессий встаёт. Что происходит перед этим неизвестно. Какие операции выполнялись, какие ресурсы запрашивались блокировки накладывались... Вообще какую вам этот вейт даёт диагностическую информацию, кроме того, что он там есть помимо возможных сотен других операций?
А вот unresolved deadlock имхо более понятен в плане куда смотреть.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39711348
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
простите господи - это ересь.

лок монитор нормально со всем справляется. графа у ТС нет потому что две транзакции в рамках одной сессии, он просто не сможет выбрать жертву для abort-операции, потому что жертвой в данном случае будет выступать та же самая сессия.


А что, локмонитор откатывает сессию, а не транзакцию? Где об этом прочитать можно? Это документированное поведение, что когда "он не сможет выбрать жертву" он кидает в лог unresolved deadlock?
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39711395
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
... реки ахинеи разливались с удвоенной силой... PizzaPizzaДля этого форум очень хорошо подходит.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39711431
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PizzaPizzafelix_ffпростите господи - это ересь.

лок монитор нормально со всем справляется. графа у ТС нет потому что две транзакции в рамках одной сессии, он просто не сможет выбрать жертву для abort-операции, потому что жертвой в данном случае будет выступать та же самая сессия.


А что, локмонитор откатывает сессию, а не транзакцию? Где об этом прочитать можно? Это документированное поведение, что когда "он не сможет выбрать жертву" он кидает в лог unresolved deadlock?
буквально так. Вам же до этого гугл всё говорил, не в состоянии спросить?
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39711508
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PizzaPizzaА что, локмонитор откатывает сессию, а не транзакцию?Появилось новое понятие "откат сессии"?
Жертвой дедлока является транзакция, а не сессия.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39711666
Олегон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
felix_ffлок монитор нормально со всем справляется. графа у ТС нет потому что две транзакции в рамках одной сессии, он просто не сможет выбрать жертву для abort-операции, потому что жертвой в данном случае будет выступать та же самая сессия.

лично мне интересно что за вторая транзакция, по transaction_id можно бы было посмотреть в sys.dm_tran_database_transactions ее тип и состояние.

Тоже склоняюсь к такому мнению.
Данные из sys.dm_tran_database_transactions прилагаю.
Транзакция 5448341393 - там, где ожидание Sch-M блокировки.

Пока предположение, что это связано с тем, что исправляется в этом фиксе:
https://support.microsoft.com/en-us/help/4090320/significantly-increased-pagelatch-ex-contentions-in-sys-sysobjvalues

Через недельку планируем накатить CU13. За это время буду пробовать воспроизвести ситуацию.

Непонятно, почему возникла эта ошибка, т.к. ранее не наблюдалось и никих событий с конфигурацией сервера или изменением кода не происходила. База наша, сервер наш, DBA наши, разработчики наши, код наш. Всё наше :)

Есть ещё подозрения о том, что 16 сентября были установлены обновления на Windows Server, возможно они как-то повлияли на возникновение такой ситуации.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39711855
Александр Бердышев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уже советовали переделать логику с использованием табличной переменной?
Но это нужно делать аккуратно - если таблица маленькая - может и прокатит.
Или использовать глобальную временную таблицу с доп колонкой на id сессии.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39711858
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр Бердышев,

авторУже советовали переделать логику с использованием табличной переменной?
и что это поменяет в положительную сторону?
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39711989
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invmPizzaPizzaА что, локмонитор откатывает сессию, а не транзакцию?Появилось новое понятие "откат сессии"?
Жертвой дедлока является транзакция, а не сессия.

Вот я тоже думаю над фразой "не сможет выбрать жертву для abort-операции, потому что жертвой в данном случае будет выступать та же самая сессия" и не понимаю, как жертвой может быть сессия, а не транзакция.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39711996
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKPizzaPizzaпропущено...


А что, локмонитор откатывает сессию, а не транзакцию? Где об этом прочитать можно? Это документированное поведение, что когда "он не сможет выбрать жертву" он кидает в лог unresolved deadlock?
буквально так. Вам же до этого гугл всё говорил, не в состоянии спросить?

Чо, рили? Сессия откатывается?
Я тоже могу быть мелочным и придираться.

Таки где тут можно почитать про откат сессии и выброс в логи "unresolved deadlock" ну или хотя бы без отката сессии?
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39712000
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PizzaPizzaTaPaKпропущено...

буквально так. Вам же до этого гугл всё говорил, не в состоянии спросить?

Чо, рили? Сессия откатывается?
Я тоже могу быть мелочным и придираться.

Таки где тут можно почитать про откат сессии и выброс в логи "unresolved deadlock" ну или хотя бы без отката сессии?
https://micoresolutions.com/scheduler-unresolved-deadlock/
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39712005
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39712038
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PizzaPizza,

Вы что то между строк что ли читаете.

При разрешении дедлока жертвой выбирается процесс (если уж вам так слово сессия не нравится) - у процесса активная транзакция откатывается и процесс получает 1205 ошибку.
В случае двух активных транзакций в рамках одной сессии локмонитор не сможет определить процесс жертву поскольку в рамках этого же процесс есть транзакция которая должна остаться, но не факт что он ее не прибьет.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39712044
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaK,

Спасибо, я это прочитал сразу после уточнения ТС про его запись в логе.

И там написано, что это не стандартное поведение, это product issue и проблема связана с неспособностью локмонитора безопасно выполнить свою работу. И это (откат сессии) уже не в компетенции локмонитора.

Тем ещё написано, что все сессии должны быть убиты на сервере в этом случае. То, что это не происходит у ТС вызывает у меня предположения, что эта issue сочетается с каким то ещё фактором, что не даёт северу выполнить даже такие низкоуровневые операции. По моему тут вариантов решений всего два: ждать фикс если он вообще будет либо лезть в код, искать что происходит и писать workaround.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39712049
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PizzaPizzaТем ещё написано, что все сессии должны быть убиты на сервере в этом случае. То, что это не происходит у ТС ...
он реально только рыгать и умеет.
не дедлок всю базу в оффлайн отправит, а аборт роллбэка.
поэтому его и не делают, твою мать
автор Because the session is already in rollback, it is unsafe to force an abort that command. Rollback failure causes SQL Server to take the database offline. This results in the elimination of all active sessions on the database.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39712051
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff,

Откатывается транзакция все же. Теперь понятнее стало.

Никогда не запускал две транзакции одновременно в одной сессии, только вложенные. Поэтому не сталкивался с вами описываемым случаем...
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39712052
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PizzaPizzaf
Никогда не запускал две транзакции одновременно в одной сессии, только вложенные. Поэтому не сталкивался с вами описываемым случаем...
да надо же.
приоткрою страшную тайну: ТС тоже не запускает "две транзакции одновременно в одной сессии"
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39712054
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123,

Мне моя брезгливость дорога,
мной руководящая давно:
даже чтобы плюнуть во врага,
я не набираю в рот гавно.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39712057
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PizzaPizzafelix_ff,

Откатывается транзакция все же. Теперь понятнее стало.

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

множественные пользовательские транзакции в рамках одной сессиии я встречал только в режиме работы с MARS.
но у ТС другая проблема судя по снимку database_transactions у него две системные транзакции. у обоих type=3
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39712058
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123PizzaPizzaf
Никогда не запускал две транзакции одновременно в одной сессии, только вложенные. Поэтому не сталкивался с вами описываемым случаем...
да надо же.
приоткрою страшную тайну: ТС тоже не запускает "две транзакции одновременно в одной сессии"

Откуда вторая транзакция в сессии берется? От delete/create?
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39712060
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PizzaPizzaYasha123,

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

так его и набирать не надо, оно оттуда все валится и валится,
и из ушей тоже валит.
весь топик нам пицца засрала своим невежественным бредом.
и конца-края этому не видно, ибо невежество пиццы БЕЗГРАНИЧНО
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39712063
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123,

Можешь не благодарить за предоставленную возможность покрасоваться на моем фоне.

Советую найти другой способ компенсации - я не вечно тут буду.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39712068
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PizzaPizzaОткуда вторая транзакция в сессии берется? От delete/create?
пора задать себе наводящий вопрос:
а что, DELETE накладывает SCH-M на таблицу?
а CREATE?

так кто тут красуется, а кого уже просто тошит от того, во что форум превратился?
---
вот ведь не стоило сюда возвращаться,
то одного тролля кормишь, то другого,
в результате Козлово нашествие перевешивает слабое присутствие действительно знающих людей
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39712081
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123PizzaPizzaОткуда вторая транзакция в сессии берется? От delete/create?
пора задать себе наводящий вопрос:
а что, DELETE накладывает SCH-M на таблицу?
а CREATE?

так кто тут красуется, а кого уже просто тошит от того, во что форум превратился?
---
вот ведь не стоило сюда возвращаться,
то одного тролля кормишь, то другого,
в результате Козлово нашествие перевешивает слабое присутствие действительно знающих людей

DDL накладывает SCH-M. (Delete это у меня был drop - путаюсь в rus/eng)

Если тошнит, но тянет туда, где тошнит, то это симптомчик.
Поверьте мне, хождение в дартаньяново-белом и страдания о "как было" работает только на неофитов. У "действительно знающих людей" страданием очков не заработать.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39712095
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PizzaPizzaЕсли тошнит, но тянет туда, где тошнит, то это симптомчик.
Поверьте мне, хождение в дартаньяново-белом и страдания о "как было" работает только на неофитов. У "действительно знающих людей" страданием очков не заработать.
симптомчик у того,
кто путает DROP/DELETE (я понимаю, проблема языка, с сервером вы же тоже, видимо, на русском общаетесь),
но при этом со вменяемого участника форума
требует ни к селу ни к городу уровень изоляции его процедуры,
да еще и с апломбом.
---
про меня тут спросили недавно, мне об этом сообщили,
почему было и не ответить человеку, с которым было приятно обмениваться идеями какое-то время назад.
но как притянуло, так и оттянуло, не переживай, пицца, не буду мешать умничать дальше,
"живите дольше, рожайте больше"
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39712098
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ffPizzaPizzafelix_ff,

Откатывается транзакция все же. Теперь понятнее стало.

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

множественные пользовательские транзакции в рамках одной сессиии я встречал только в режиме работы с MARS.
но у ТС другая проблема судя по снимку database_transactions у него две системные транзакции. у обоих type=3

Там вроде state 3, а type 1 вот они все и по нулям. Или у меня cvs криво открывается
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39712107
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123умничать дальше

Умничать <> пытаться понять как (разные, и не только умные) люди думают в случае возникновения задач.

Возможно у нас разное понимание целей форума и я не уверен, что мое правильное.
Но мне кажется, что если целью форума ставить исключительно выдачу правильных и "еще более правильных" ответов на вопросы, то форум превратится в площадку для решения задачек с практикумов "умными людьми" и место красования соответственно иерархии и рангу.
Меня же лично интересует не решение, а процесс к нему приводящий, то самое "куда смотреть" и какие варианты могут быть и почему.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39712133
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Простенький случай
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
use tempdb;
go

checkpoint;

begin tran Test;

select 'before create #t', request_owner_id as [Xact ID], object_id('#t') as [#t object_id], * from sys.dm_tran_locks where request_session_id = @@spid and request_mode = 'Sch-M';
create table #t (id int);
select 'after create #t', request_owner_id as [Xact ID], object_id('#t') as [#t object_id], * from sys.dm_tran_locks where request_session_id = @@spid and request_mode = 'Sch-M';

insert into #t values (1);
select 'after insert into #t', request_owner_id as [Xact ID], object_id('#t') as [#t object_id], * from sys.dm_tran_locks where request_session_id = @@spid and request_mode = 'Sch-M';

drop table #t;
select 'after drop #t', request_owner_id as [Xact ID], object_id('#t') as [#t object_id], * from sys.dm_tran_locks where request_session_id = @@spid and request_mode = 'Sch-M';

commit;

declare @lsn nvarchar(30), @tid nvarchar(30);
select top (1) @lsn = [Current LSN], @tid = [Transaction ID] from sys.fn_dblog(null, null) where SPID = @@spid and Operation = N'LOP_BEGIN_XACT' and [Transaction Name] = N'Test' order by [Current LSN] desc;

select
 a.[Transaction Name], a.[Xact Type], a.[Xact ID], a.Description, a.[Current LSN] as [Start LSN], c.lsn as [Finish LSN]
from
 sys.fn_dblog(null, null) a cross apply
 (select [Current LSN] from sys.fn_dblog(null, null) where [Transaction ID] = @tid and Operation = N'LOP_COMMIT_XACT') b(lsn) outer apply
 (select [Current LSN] from sys.fn_dblog(null, null) where [Transaction ID] = a.[Transaction ID] and Operation = N'LOP_COMMIT_XACT') c(lsn)
where
 a.[Current LSN] between @lsn and b.lsn and a.Operation = N'LOP_BEGIN_XACT' and a.SPID = @@spid
order by
 [Start LSN];


На разных версиях сервера результаты могут отличаться.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39712157
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PizzaPizzaYasha123умничать дальше

Умничать <> пытаться понять как (разные, и не только умные) люди думают в случае возникновения задач.

Возможно у нас разное понимание целей форума и я не уверен, что мое правильное.
Но мне кажется, что если целью форума ставить исключительно выдачу правильных и "еще более правильных" ответов на вопросы, то форум превратится в площадку для решения задачек с практикумов "умными людьми" и место красования соответственно иерархии и рангу.
Меня же лично интересует не решение, а процесс к нему приводящий, то самое "куда смотреть" и какие варианты могут быть и почему.
a какие варианты могут быть?
человек словил баг,
репро вряд ли будет,
ибо, как ТС утверждает, до последнего времени этого не наблюдалось.
а что надо было изменить в системе, чтобы на этот баг напороться, неизвестно.
подобное люди ловят аж с 2008-ого года,
на форумы вываливают, а ответа все нет.
и виноваты здесь системные транзакции,
а ведь кода самого сервера мы не видим,
и изменить его тоже не в состоянии.
---
этот баг и на табличных переменных ловят, и на временных таблицах,
и никакой maxdop не поможет, и уж уровни изоляции ну точно никаким местом.
что тут еще-то сказать?
a вы все лезете и лезете с какими-то левыми рекомендациями,
из которых ясно только одно:
об устройстве сервера вы имеете очень далекое от истины представление.
---
еще можно понять, когда человек невнимательно прочитал исходные данные
и что-то там советует.
но ведь уже все по 10 раз повторили, а вы это упорно игнорируете
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39712163
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yasha123a какие варианты могут быть?
человек словил баг,
репро вряд ли будет,
ибо, как ТС утверждает, до последнего времени этого не наблюдалось.
а что надо было изменить в системе, чтобы на этот баг напороться, неизвестно.
подобное люди ловят аж с 2008-ого года,
на форумы вываливают, а ответа все нет.
и виноваты здесь системные транзакции,
а ведь кода самого сервера мы не видим,
и изменить его тоже не в состоянии.
---
этот баг и на табличных переменных ловят, и на временных таблицах,
и никакой maxdop не поможет, и уж уровни изоляции ну точно никаким местом.


То есть "мы все умрем" и ваш совет ТС - смирись и перегрузись?

Boring.
Не. Я согласен, если бы у многих людей рандомно эта ошибка выпадала бы, то... ну что делать, сырой продукт. Но sql server не очень уж сырой продукт, да и данный сетап у ТС явно не стандартный и есть какие то кондиции которые приводят к это ошибке, следовательно это состояние можно отловить и посмотреть. А, как говорится, диагностика - половина решения. Конечно крайне интересно прочитать как "умные люди" диагностику делают, но увы.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39712167
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PizzaPizzaНо sql server не очень уж сырой продукт
Блажен (не)верующий. Я вот уже 4 года и две разные мажорные версии пытаюсь понять, каким законам подчиняется внутренняя логика работы AlwaysOn, и, постепенно, прихожу к выводу, что исключительно законам божьим, причем, божества эти отнюдь не каноничны, нет...
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39712171
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гавриленко Сергей Алексеевич,

Ну знаете... Вот карандашик и тетрадка простые продукты - всегда знаешь, что ожидать от них. А вы гоняете сервера в хвост и гриву с функционалом, о котором 90% пользователей даже и не в курсе. Если посчитать всякие embedded решения, которые используются как хранилище таблиц, то и 99%. На ком тренироваться/тестировать MS когда пользователей с такими нуждами мало.
Опять же всякие кластеры и распределения это фишка хорошая, приятно её внедрить и обидно, когда не работает. Но как то не хочется верить, что основной функционал любой базы данных, вроде транзакций и tempdb, настолько глючный и непредсказуемый.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39712283
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это болезнь еще в 2008 была, совершенно верно. После того, как наши умники решили "прибирать за собой" временные таблицы. Ну хоть дедлоков не было, но процедуры внезапно тормозить начали.
...
Рейтинг: 0 / 0
Ожидание блокировки локальной временной таблицы
    #39712380
Mr. X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гавриленко Сергей Алексеевич,

А что конкретно? Может в отдельную тему вынести?
...
Рейтинг: 0 / 0
81 сообщений из 81, показаны все 4 страниц
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Ожидание блокировки локальной временной таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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