Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
Добрый день! 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% выполнения, хотя по сессии не было какой-то огромной транзакции, которая кучу бы чего изменила. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 06:39 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
Олегон, гугл говорит, что LCK_M_SCH_M ожидание на блокировку изменения схемы. Все блокировки это вопрос уровня изоляции. Начните с выяснения какой уровень изоляции у вас установлен для выполнения вашей исходной ХП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 07:33 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
Дополню. В логах SQL-сервера в обоих случаях: * Unresolved deadlock Deadlock monitor failed to resolve one or more deadlocks. Server may require restart to recover from this condition. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 07:33 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
ОлегонДополню. В логах SQL-сервера в обоих случаях: * Unresolved deadlock Deadlock monitor failed to resolve one or more deadlocks. Server may require restart to recover from this condition. Ну это все, что вам нужно знать, собственно. Deadlock. Учитывая Олегонхранимая процедура, в которой неоднократно выполняется запуск другой хранимой процедуры, внутри которой создаются и используются локальные временные таблицы тут надо смотреть на алгоритм ваших ХП и фиксить логику, которая приводит к таким дедлокам. Это боевой сервер? Вы можете обратиться к разработчику вашей базы за помощью? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 07:42 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
Олегон, Ну на 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/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 08:50 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
PizzaPizzaОлегон, гугл говорит, что LCK_M_SCH_M ожидание на блокировку изменения схемы. Все блокировки это вопрос уровня изоляции. Начните с выяснения какой уровень изоляции у вас установлен для выполнения вашей исходной ХП. да что вы говорите. и на каком же уровне изоляции SCH-M кого-то не остановит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 09:11 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
ОлегонЧто означает, что есть блокировка (granted) на эту таблицу с transaction_id = 5448341393, а с другим transaction_id = 5448332983 блокировка Waiting? 5448341393 читает, 5448332983 пытается изменить саму таблицу, например, колонку добавляет. разумеется, ждет, пока первая транзакция отпустит таблицу, нельзя же ее модифицировать, пока есть читатели ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 09:17 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
Yasha123PizzaPizzaОлегон, гугл говорит, что LCK_M_SCH_M ожидание на блокировку изменения схемы. Все блокировки это вопрос уровня изоляции. Начните с выяснения какой уровень изоляции у вас установлен для выполнения вашей исходной ХП. да что вы говорите. и на каком же уровне изоляции SCH-M кого-то не остановит? гугл ему это не сказал :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 09:21 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
Yasha123PizzaPizzaОлегон, гугл говорит, что LCK_M_SCH_M ожидание на блокировку изменения схемы. Все блокировки это вопрос уровня изоляции. Начните с выяснения какой уровень изоляции у вас установлен для выполнения вашей исходной ХП. да что вы говорите. и на каком же уровне изоляции SCH-M кого-то не остановит? Вопрос не в остановит-неостановит, а в понимании спрашивающим с чем он столкнулся. Если человек видит блокировку и, допустим, не знаком с изоляциями, то совет тут только один - обратиться к разработчику. Не будете же вы, в самом деле, советовать на боевом и неизвестном вам сервере что то делать с неизвестной вам логикой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 09:58 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
TaPaK Ну на tempdb достаточно старая проблема, сколько файлов у базы? Файлов 16. Ядер CPU: 32 Планируем увеличить, прибавив 4 файла, т.к. стали наблюдать PAGELATCH_UP при нагрузке. Yasha123 5448341393 читает, 5448332983 пытается изменить саму таблицу, например, колонку добавляет. разумеется, ждет, пока первая транзакция отпустит таблицу, нельзя же ее модифицировать, пока есть читатели Как это может происходить в одной и той же сессии? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 09:59 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
Олегон, авторПланируем увеличить, прибавив 4 файла, т.к. стали наблюдать PAGELATCH_UP при нагрузке. ну UP это не к IO относится. Так то общая рекомендация на CPU = количество файлов, но и если не ошибаюсь то были и о том что много тоже не очень хорошо. Посмотрите что в ожиданиях, если там что то типа sysobjvalues то тут точно файлами не решить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 10:06 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
ОлегонКак это может происходить в одной и той же сессии? я же не вижу ваш код. попробуйте пошариться в system_health, может, там есть инфо о дедлоке, хотя бы будет текст конфликтующих процессов. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. с другой стороны, раз дедлок не резолвился, может и графа никакого нет. --- в логе можно было посмотреть, что за транзакции (sys.fn_dblog()) теперь уже наверное лог перезатеря, а вот system_health может еще и нет. ну или выставьте TF 1222, пусть графы в еррорлог валятся ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 10:26 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
PizzaPizzaYasha123пропущено... да что вы говорите. и на каком же уровне изоляции SCH-M кого-то не остановит? Вопрос не в остановит-неостановит, а в понимании спрашивающим с чем он столкнулся. Если человек видит блокировку и, допустим, не знаком с изоляциями, то совет тут только один - обратиться к разработчику. Не будете же вы, в самом деле, советовать на боевом и неизвестном вам сервере что то делать с неизвестной вам логикой. достали уже неучи лезть с ценными советами. еще раз, дарагуля, ответь на конкретный воппрос: какой же надо выставить уровень изоляции процедуре ТС, чтобы получить SCH-M на таблицу при имеющихся читателях таблицы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 10:30 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
Yasha123с другой стороны, раз дедлок не резолвился, может и графа никакого нет. Графа нет - вместо него сообщение об ошибке. Флаг включён. Процесс всё ещё висит (я так понимаю, в заблокированном глючном состоянии, раз его не смог сервер прибить). sys.fn_dblog() пока не даёт посмотреть - отваливается по тайм-ауту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 10:43 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
Олегон, процесс ждёт чего? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 10:45 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
Я в самом начале написал. Внутри одной и той же сессии взаимоблокировка. Резолв Deadlock'а не среботал - вывалился в ошибку (запись в журнале). Теперь сессия вот в таком состоянии (см. скриншот). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 10:52 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
Yasha123, Ответ простой: уровень изоляции 42 надо поставить. И сразу вам вопрос: как можно откатить транзакцию используя партицирование? Правда это выглядит странно - задавать бессмысленный вопрос нерелевантный контексту? FYI " Unresolved deadlock" имеет не так много упоминаний и они все легко гуглятся. Пробуйте своими мощными экстрасенсорными способностями помочь ТС с такого уровня проблемами... Дорогуша. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 10:57 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
PizzaPizzaYasha123, Ответ простой: уровень изоляции 42 надо поставить. И сразу вам вопрос: как можно откатить транзакцию используя партицирование? Правда это выглядит странно - задавать бессмысленный вопрос нерелевантный контексту? FYI " Unresolved deadlock" имеет не так много упоминаний и они все легко гуглятся. Пробуйте своими мощными экстрасенсорными способностями помочь ТС с такого уровня проблемами... Дорогуша. я так понимаю, это вещает клон Andy или его ближайший соратник по партии? какого же тогда хрена doppia Pizza спрашивала "Начните с выяснения какой уровень изоляции у вас установлен для выполнения вашей исходной ХП." ведь это и есть это самое: "Правда это выглядит странно - задавать бессмысленный вопрос нерелевантный контексту ?" не форум, натуральное болото ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 11:20 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
Олегон, в общем я по прежнему склонен думать что это таже проблема что и описанная в ссылкае, в вашем случае как раз слудющий CU её и правит https://support.microsoft.com/en-us/help/4090320/significantly-increased-pagelatch-ex-contentions-in-sys-sysobjvalues. А так, судя по всему рестарт как все спать уйдут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 11:22 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
PizzaPizzaYasha123, Ответ простой: уровень изоляции 42 надо поставить. И сразу вам вопрос: как можно откатить транзакцию используя партицирование? Правда это выглядит странно - задавать бессмысленный вопрос нерелевантный контексту? FYI " Unresolved deadlock" имеет не так много упоминаний и они все легко гуглятся. Пробуйте своими мощными экстрасенсорными способностями помочь ТС с такого уровня проблемами... Дорогуша. Козловсике вернулись? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 11:22 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
Олегон, пробуйте sys.fn_dblog() с nolock, и не весь, с фильтром по ид транзакции. в одной сессии наверное может быть, если вторая транзакция системная. не могу придумать, зачем может понадобиться sch-m. наверное, чтобы дроп сделать. вы зачем внутри процедуры дропаете то, что само должно умереть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 11:30 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
TaPaKОлегон, в общем я по прежнему склонен думать что это таже проблема что и описанная в ссылкае, в вашем случае как раз слудющий CU её и правит https://support.microsoft.com/en-us/help/4090320/significantly-increased-pagelatch-ex-contentions-in-sys-sysobjvalues. А так, судя по всему рестарт как все спать уйдут Ясно. Спасибо за мысль. В планах на этот месяц была установка CU13. Рестартанём, конечно. В предыдущий случай так и сделали. Не хочется таким образом решать, т.к. не понятна причина появления такой ситуации, т.к. изменений в конфигурации или в коде не было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 11:31 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
TaPaKКозловсике вернулись? бесит то, что в кои-то веки что-то интересное нарисовалось, и то в топике сразу же срет чей-то клон. чего потом удивляться, что сюда людям заглядывать неохота ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 11:32 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
Yasha123Олегон, не могу придумать, зачем может понадобиться sch-m. наверное, чтобы дроп сделать. вы зачем внутри процедуры дропаете то, что само должно умереть? Привычка, наверное... При разработке, отладки удобно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 11:42 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
Олегон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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 11:46 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
Yasha123какого же тогда хрена Ответ простой и я его уже дал. Пробуйте осмыслить. У человека по описанию блок, а в логе - баг. Если это баг я полагаю вы сотрудник МС и собираетесь выкатить/порекомендовать фикс. Если вы не собираетесь выкатить фикс, то нам остаётся надеяться, что ТС напихает в процедуры логирования, зацепит проблемное место и расскажет в чем дело и как исправилось. А пока что это все разговоры в пользу бедных и гадание на переменных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 11:48 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
[quot TaPaK]авторDo not truncate temp tables Это шо, delete делать что-ле? Занафига? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 11:53 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
[quot aleks222]TaPaKпропущено... Это шо, delete делать что-ле? Занафига? ну некоторые транкейтят как шаблон в конце процедур. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 11:59 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
что-то подобное аж в 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 12:00 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
Yasha123PizzaPizzaYasha123, Ответ простой: уровень изоляции 42 надо поставить. И сразу вам вопрос: как можно откатить транзакцию используя партицирование? Правда это выглядит странно - задавать бессмысленный вопрос нерелевантный контексту? FYI " Unresolved deadlock" имеет не так много упоминаний и они все легко гуглятся. Пробуйте своими мощными экстрасенсорными способностями помочь ТС с такого уровня проблемами... Дорогуша. я так понимаю, это вещает клон Andy или его ближайший соратник по партии? какого же тогда хрена doppia Pizza спрашивала "Начните с выяснения какой уровень изоляции у вас установлен для выполнения вашей исходной ХП." ведь это и есть это самое: "Правда это выглядит странно - задавать бессмысленный вопрос нерелевантный контексту ?" не форум, натуральное болото Анна, я Вас умоляю, ну станьте модератором и посмотрите его IP и мои - я всегда вхожу на этот форум исключительно с ленинградских IP, таки знаете, ностальгия. И хватит нервничать, никакой партии и никаких соратников, тут серьезные разработчики решают серьезные вопросы, а Вам все Козловы видятся в каждом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 13:04 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
Andy_OLAPя всегда вхожу на этот форум исключительно с ленинградских IPДаже такой "бывший перт" как вы, знает о прокси и анонимайзерах. И вы, в рамках свих психологическо-ксенофобских экспериментов, вполне способны пользоваться этими механизмами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 13:28 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
Andy_OLAPтут серьезные разработчики решают серьезные вопросы Оно и видно: один на голубом глазу изменением уровня изоляции лечит блокировку схемы. И вместо того, чтобы просто признать, что был неправ, начинает рассказывать, как космические корабли бороздят большой театр. А другой -- кулхакер-деанонимизатор -- всем очень-очень тонко намекает, что знает гораздо больше, чем говорит. Все так серьезно, что не до улыбок. По теме: если сессия блочит сама себя -- может, как временное решение, запустить ее с MaxDOP 1? Да, топором от головной боли, но может помочь сбить пламя пожара. Ну и, как писали по одной из ссылок выше, проверьте, что флаг 1118 стоит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 13:30 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
Andy_OLAPАнна, я Вас умоляю ...... ег вроде не Анной кличут по факту :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 13:32 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
MaxxAndy_OLAPАнна, я Вас умоляю ...... ег вроде не Анной кличут по факту :) Если я буду называть ее Яшой - она еще больше обидится. Вам таки нужны на форуме сильно разозленные участницы? Я сильно сомневаюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 13:34 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
[quot TaPaK]aleks222пропущено... ну некоторые транкейтят как шаблон в конце процедур. Я транкейтю для повторного использования. Шо мне типерь делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 17:42 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
Andy_OLAPтут серьезные разработчики решают серьезные вопросы, а Вам все Козловы видятся в каждом. О да. Серьезные разработчики, которые решают проблемы кода путем плясок с конфигурацией сервера. А чо, у нас дедлок и локмонитор крашится, давай еще накинем ядер или памяти. На первое время поможет (ну да, поможет). Да и эти серьезные разработчики читать не очень любят - ТС в цикле работает с #таблицами, и ему совет - а вы их не убивайте. Конечно серьезные разработчики экстрасенсы и "знают", что логика ТС позволяет оставлять эти таблицы в памяти на всю сессию, ну и "всем очевидно", что сбор мусора дешевле силами самого сервера. 0wlодин на голубом глазу изменением уровня изоляции лечит блокировку схемы Еще раз - вопрос был понимании работает ли ТС с этой базой или "знакомый попросил посмотреть". Преклоняюсь перед местными жителями, которые с порога, видимо наложением куда то рук, видят конфигурацию сервера, тексты процедур, планы выполнения и плюс к этому сразу понимают пишет ли это DBA, девелопер или секретарь. И кстати да, MaxDOP вполне может помочь. Но понравится ли ТС увеличение времени исполнения? Кого это волнует! Больше советов! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 18:22 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
PizzaPizzaЕще раз - вопрос был понимании работает ли ТС с этой базой или "знакомый попросил посмотреть". Преклоняюсь перед местными жителями, которые с порога, видимо наложением куда то рук, видят конфигурацию сервера, тексты процедур, планы выполнения и плюс к этому сразу понимают пишет ли это DBA, девелопер или секретарь.И как знание перечисленного поможет в диагностике причин проблемы? PizzaPizzaВсе блокировки это вопрос уровня изоляции. Начните с выяснения какой уровень изоляции у вас установлен для выполнения вашей исходной ХП.Поясните каким образом, при ожидании на Sch-M, уровень изоляции блокируемой или блокирующей сессии будет на это ожидание влиять? PizzaPizzaИ кстати да, MaxDOP вполне может помочь.За счет чего, при ожидании на Sch-M? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 19:18 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
invmPizzaPizzaИ кстати да, MaxDOP вполне может помочь.За счет чего, при ожидании на Sch-M? За счет того, что у ТС сессия блокируется сама собой (где-то выше был скриншот). Вообще, вся ситуация очень похожа на дедлоки из-за параллезма (которые суть -- ошибки движка и должны исправляться в CU), только сессии столкнулись не на ExchangeEvent, а на одном и том же адресе временной таблицы (чего тоже быть не должно, в этом и ошибка). То есть, все полезное, со ссылками, по теме уже было сказано выше, надо бы дождаться результата применения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 19:28 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
invmИ как знание перечисленного поможет в диагностике причин проблемы? Никак не поможет. Это простой наводящий вопрос имеющий целью получить чуть больше информации о проблеме. В частности работает ли ТС непосредственно с кодом или же код не доступен и ТС пытается решить проблему конфигурацией сервера. invmПоясните каким образом, при ожидании на Sch-M, уровень изоляции блокируемой или блокирующей сессии будет на это ожидание влиять? Никаким. Это было обобщение, грубоватое, да. См. выше. PizzaPizzaИ кстати да, MaxDOP вполне может помочь. invmЗа счет чего, при ожидании на Sch-M? Так как мы все тут тыкаем пальцами в небо я тоже могу предположить окружение. Допустим у ТС запускается множество сессий в них множество ХП со своими вызовами ХП и еще и операции на схему и это все в параллель, тогда, при возникновении ошибки/дедлока у сервера начинаются проблемы с очередями/буферами/планировщиками приводящие к краху/ошибкам локмонитора и (дальше полная спекуляция, что может произойти если локмонитор не справился) невозможности выполнения/отката транзакций сессии и она виснет. Уменьшение параллелизма должно уменьшить количество объектов/блокировок для менеджмента и, наверное, количество дедлоков в принципе. Вопрос в том, что никто не знает есть ли конкретный запрос, на который поможет поставить MaxDOP и как это повлияет на производительность. А по моему, тут надо в код смотреть и, по возможности, минимизировать/изолировать как то возможные проблемы блокировок. Хотя конечно все зависит от проекта, и где то проще пойти по экстенсивному пути ради производительности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 20:07 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
0wlЗа счет того, что у ТС сессия блокируется сама собой (где-то выше был скриншот).Это однозначный критерий наличия параллелизма? Можете продемонстрировать параллелизм с наложением Sch-M? Я знаю один такой вариант - создание/перестроение/удаление индекса. Считаете у ТС именно этот случай? 0wlВообще, вся ситуация очень похожа на дедлоки из-за параллезмаСитуация похожа на дедлок разных транзакций в пределах одной сессии. И является багом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 20:27 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
PizzaPizzaТак как мы все тут тыкаем пальцами в небо я тоже могу предположить окружение. Допустим у ТС запускается множество сессий в них множество ХП со своими вызовами ХП и еще и операции на схему и это все в параллель, тогда, при возникновении ошибки/дедлока у сервера начинаются проблемы с очередями/буферами/планировщиками приводящие к краху/ошибкам локмонитора и (дальше полная спекуляция, что может произойти если локмонитор не справился) невозможности выполнения/отката транзакций сессии и она виснет.Теперь наложите на вашу гипотезу тот факт, что у ТС проблема в пределах одной сессии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 20:35 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
invmТеперь наложите на вашу гипотезу тот факт, что у ТС проблема в пределах одной сессии. Я не вижу проблемы с тем, что это одна сессия. Известно, что проблема не очень воспроизводимая, так что вполне мне кажется возможным, что зависшая сессия даёт выполниться другим. Возможно даже, что одновременно существует только одна такая сессия в принципе, согласно условию задачи... Возможно она, эта сессия, запускается в какой то пик нагрузки и сама тяжёлая и при сочетании каких либо факторов даёт проблему. Все это конечно писанина по воде, с моей точки зрения - без отладочной информации и логов найти затык и (если это баг севера) придумать обходное решение нельзя. У вас есть ответ? Расскажите. Мне интересно, я никогда не сталкивался с такими нагрузками как у тс и с удовольствием новую информацию съем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 21:05 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
PizzaPizzaЯ не вижу проблемы с тем, что это одна сессия.Вот и объясните как, в пределах одной сессии, получить ожидание на Sch-M при maxdop > 1 и не получить с maxdop = 1. Учитывая, что на уровне пакета выполнение инструкций всегда последовательное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 21:54 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
PizzaPizza с удовольствием новую информацию съем. https://getyarn.io/yarn-clip/00862414-b0ec-4edb-a710-eb6efd4076b8 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 22:22 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
invmPizzaPizzaЯ не вижу проблемы с тем, что это одна сессия.Вот и объясните как, в пределах одной сессии, получить ожидание на Sch-M при maxdop > 1 и не получить с maxdop = 1. Учитывая, что на уровне пакета выполнение инструкций всегда последовательное. Ожидание в любом случае будет, но вопрос то не в ожидании, а в том, к чему оно приводит иногда. Опять допустим: Может в пределах одной сессии запущено несколько экземпляров ХП? В этом случае будут ли выполняться одновременно и конкурировать за ресурсы? Если ХП выполняются одновременно и каждая в параллель, то возможно ли, что некоторое сочетание шагов выполнения этих ХП создаёт слишком много дедлоков на малое количество ресурсов и локмонитор тупо не справляется? Если это все предположить возможным, то тупое уменьшение количества тасков даст серверу разобраться с сессией. Это все конечно если допустить, что в коде ХП нет логики, которая дополнительно провоцирует массовые дедлоки. Вообще когда идёт речь про локи/вейты, то я бы сразу смотрел в lock counters. Видимо все участники дискуссии ознакомлены с этими данными... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 22:24 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
PizzaPizzaОжидание в любом случае будет, но вопрос то не в ожидании, а в том, к чему оно приводит иногда. Опять допустим: Может в пределах одной сессии запущено несколько экземпляров ХП? В этом случае будут ли выполняться одновременно и конкурировать за ресурсы?Вам было бы неплохо, прежде чем выдвигать различные теории, изучить матчасть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 22:36 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
PizzaPizzainvmпропущено... Вот и объясните как, в пределах одной сессии, получить ожидание на Sch-M при maxdop > 1 и не получить с maxdop = 1. Учитывая, что на уровне пакета выполнение инструкций всегда последовательное. Ожидание в любом случае будет, но вопрос то не в ожидании, а в том, к чему оно приводит иногда. Опять допустим: Может в пределах одной сессии запущено несколько экземпляров ХП? В этом случае будут ли выполняться одновременно и конкурировать за ресурсы? Если ХП выполняются одновременно и каждая в параллель, то возможно ли, что некоторое сочетание шагов выполнения этих ХП создаёт слишком много дедлоков на малое количество ресурсов и локмонитор тупо не справляется? Если это все предположить возможным, то тупое уменьшение количества тасков даст серверу разобраться с сессией. Это все конечно если допустить, что в коде ХП нет логики, которая дополнительно провоцирует массовые дедлоки. Вообще когда идёт речь про локи/вейты, то я бы сразу смотрел в lock counters. Видимо все участники дискуссии ознакомлены с этими данными... простите господи - это ересь. лок монитор нормально со всем справляется. графа у ТС нет потому что две транзакции в рамках одной сессии, он просто не сможет выбрать жертву для abort-операции, потому что жертвой в данном случае будет выступать та же самая сессия. лично мне интересно что за вторая транзакция, по transaction_id можно бы было посмотреть в sys.dm_tran_database_transactions ее тип и состояние. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 23:24 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
invmPizzaPizzaОжидание в любом случае будет, но вопрос то не в ожидании, а в том, к чему оно приводит иногда. Опять допустим: Может в пределах одной сессии запущено несколько экземпляров ХП? В этом случае будут ли выполняться одновременно и конкурировать за ресурсы?Вам было бы неплохо, прежде чем выдвигать различные теории, изучить матчасть. Согласен. Для этого форум очень хорошо подходит. Понимаю, что допущение невозможное об одновременности. Но оно не исключающее. Вариант с конкурирующими сессиями за общие ресурсы остаётся. Вейт на блокировку локальной временной таблицы это просто операция, которую видно последней и на которой одна из сессий встаёт. Что происходит перед этим неизвестно. Какие операции выполнялись, какие ресурсы запрашивались блокировки накладывались... Вообще какую вам этот вейт даёт диагностическую информацию, кроме того, что он там есть помимо возможных сотен других операций? А вот unresolved deadlock имхо более понятен в плане куда смотреть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2018, 23:36 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
felix_ff простите господи - это ересь. лок монитор нормально со всем справляется. графа у ТС нет потому что две транзакции в рамках одной сессии, он просто не сможет выбрать жертву для abort-операции, потому что жертвой в данном случае будет выступать та же самая сессия. А что, локмонитор откатывает сессию, а не транзакцию? Где об этом прочитать можно? Это документированное поведение, что когда "он не сможет выбрать жертву" он кидает в лог unresolved deadlock? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 00:25 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
... реки ахинеи разливались с удвоенной силой... PizzaPizzaДля этого форум очень хорошо подходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 06:42 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
PizzaPizzafelix_ffпростите господи - это ересь. лок монитор нормально со всем справляется. графа у ТС нет потому что две транзакции в рамках одной сессии, он просто не сможет выбрать жертву для abort-операции, потому что жертвой в данном случае будет выступать та же самая сессия. А что, локмонитор откатывает сессию, а не транзакцию? Где об этом прочитать можно? Это документированное поведение, что когда "он не сможет выбрать жертву" он кидает в лог unresolved deadlock? буквально так. Вам же до этого гугл всё говорил, не в состоянии спросить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 08:47 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
PizzaPizzaА что, локмонитор откатывает сессию, а не транзакцию?Появилось новое понятие "откат сессии"? Жертвой дедлока является транзакция, а не сессия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 10:46 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
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, возможно они как-то повлияли на возникновение такой ситуации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 14:06 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
Уже советовали переделать логику с использованием табличной переменной? Но это нужно делать аккуратно - если таблица маленькая - может и прокатит. Или использовать глобальную временную таблицу с доп колонкой на id сессии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 17:15 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
Александр Бердышев, авторУже советовали переделать логику с использованием табличной переменной? и что это поменяет в положительную сторону? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 17:16 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
invmPizzaPizzaА что, локмонитор откатывает сессию, а не транзакцию?Появилось новое понятие "откат сессии"? Жертвой дедлока является транзакция, а не сессия. Вот я тоже думаю над фразой "не сможет выбрать жертву для abort-операции, потому что жертвой в данном случае будет выступать та же самая сессия" и не понимаю, как жертвой может быть сессия, а не транзакция. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 19:35 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
TaPaKPizzaPizzaпропущено... А что, локмонитор откатывает сессию, а не транзакцию? Где об этом прочитать можно? Это документированное поведение, что когда "он не сможет выбрать жертву" он кидает в лог unresolved deadlock? буквально так. Вам же до этого гугл всё говорил, не в состоянии спросить? Чо, рили? Сессия откатывается? Я тоже могу быть мелочным и придираться. Таки где тут можно почитать про откат сессии и выброс в логи "unresolved deadlock" ну или хотя бы без отката сессии? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 19:39 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
PizzaPizzaTaPaKпропущено... буквально так. Вам же до этого гугл всё говорил, не в состоянии спросить? Чо, рили? Сессия откатывается? Я тоже могу быть мелочным и придираться. Таки где тут можно почитать про откат сессии и выброс в логи "unresolved deadlock" ну или хотя бы без отката сессии? https://micoresolutions.com/scheduler-unresolved-deadlock/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 19:45 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
TaPaK, https://blogs.msdn.microsoft.com/bobsql/2016/06/21/unresolved-deadlock-vs-scheduler-deadlock/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 19:46 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
PizzaPizza, Вы что то между строк что ли читаете. При разрешении дедлока жертвой выбирается процесс (если уж вам так слово сессия не нравится) - у процесса активная транзакция откатывается и процесс получает 1205 ошибку. В случае двух активных транзакций в рамках одной сессии локмонитор не сможет определить процесс жертву поскольку в рамках этого же процесс есть транзакция которая должна остаться, но не факт что он ее не прибьет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 20:18 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
TaPaK, Спасибо, я это прочитал сразу после уточнения ТС про его запись в логе. И там написано, что это не стандартное поведение, это product issue и проблема связана с неспособностью локмонитора безопасно выполнить свою работу. И это (откат сессии) уже не в компетенции локмонитора. Тем ещё написано, что все сессии должны быть убиты на сервере в этом случае. То, что это не происходит у ТС вызывает у меня предположения, что эта issue сочетается с каким то ещё фактором, что не даёт северу выполнить даже такие низкоуровневые операции. По моему тут вариантов решений всего два: ждать фикс если он вообще будет либо лезть в код, искать что происходит и писать workaround. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 20:26 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 20:31 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
felix_ff, Откатывается транзакция все же. Теперь понятнее стало. Никогда не запускал две транзакции одновременно в одной сессии, только вложенные. Поэтому не сталкивался с вами описываемым случаем... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 20:32 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
PizzaPizzaf Никогда не запускал две транзакции одновременно в одной сессии, только вложенные. Поэтому не сталкивался с вами описываемым случаем... да надо же. приоткрою страшную тайну: ТС тоже не запускает "две транзакции одновременно в одной сессии" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 20:35 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
Yasha123, Мне моя брезгливость дорога, мной руководящая давно: даже чтобы плюнуть во врага, я не набираю в рот гавно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 20:37 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
PizzaPizzafelix_ff, Откатывается транзакция все же. Теперь понятнее стало. Никогда не запускал две транзакции одновременно в одной сессии, только вложенные. Поэтому не сталкивался с вами описываемым случаем... множественные пользовательские транзакции в рамках одной сессиии я встречал только в режиме работы с MARS. но у ТС другая проблема судя по снимку database_transactions у него две системные транзакции. у обоих type=3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 20:39 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
Yasha123PizzaPizzaf Никогда не запускал две транзакции одновременно в одной сессии, только вложенные. Поэтому не сталкивался с вами описываемым случаем... да надо же. приоткрою страшную тайну: ТС тоже не запускает "две транзакции одновременно в одной сессии" Откуда вторая транзакция в сессии берется? От delete/create? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 20:40 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
PizzaPizzaYasha123, Мне моя брезгливость дорога, мной руководящая давно: даже чтобы плюнуть во врага, я не набираю в рот гавно. так его и набирать не надо, оно оттуда все валится и валится, и из ушей тоже валит. весь топик нам пицца засрала своим невежественным бредом. и конца-края этому не видно, ибо невежество пиццы БЕЗГРАНИЧНО ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 20:40 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
Yasha123, Можешь не благодарить за предоставленную возможность покрасоваться на моем фоне. Советую найти другой способ компенсации - я не вечно тут буду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 20:47 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
PizzaPizzaОткуда вторая транзакция в сессии берется? От delete/create? пора задать себе наводящий вопрос: а что, DELETE накладывает SCH-M на таблицу? а CREATE? так кто тут красуется, а кого уже просто тошит от того, во что форум превратился? --- вот ведь не стоило сюда возвращаться, то одного тролля кормишь, то другого, в результате Козлово нашествие перевешивает слабое присутствие действительно знающих людей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 20:52 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
Yasha123PizzaPizzaОткуда вторая транзакция в сессии берется? От delete/create? пора задать себе наводящий вопрос: а что, DELETE накладывает SCH-M на таблицу? а CREATE? так кто тут красуется, а кого уже просто тошит от того, во что форум превратился? --- вот ведь не стоило сюда возвращаться, то одного тролля кормишь, то другого, в результате Козлово нашествие перевешивает слабое присутствие действительно знающих людей DDL накладывает SCH-M. (Delete это у меня был drop - путаюсь в rus/eng) Если тошнит, но тянет туда, где тошнит, то это симптомчик. Поверьте мне, хождение в дартаньяново-белом и страдания о "как было" работает только на неофитов. У "действительно знающих людей" страданием очков не заработать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 21:10 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
PizzaPizzaЕсли тошнит, но тянет туда, где тошнит, то это симптомчик. Поверьте мне, хождение в дартаньяново-белом и страдания о "как было" работает только на неофитов. У "действительно знающих людей" страданием очков не заработать. симптомчик у того, кто путает DROP/DELETE (я понимаю, проблема языка, с сервером вы же тоже, видимо, на русском общаетесь), но при этом со вменяемого участника форума требует ни к селу ни к городу уровень изоляции его процедуры, да еще и с апломбом. --- про меня тут спросили недавно, мне об этом сообщили, почему было и не ответить человеку, с которым было приятно обмениваться идеями какое-то время назад. но как притянуло, так и оттянуло, не переживай, пицца, не буду мешать умничать дальше, "живите дольше, рожайте больше" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 21:37 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
felix_ffPizzaPizzafelix_ff, Откатывается транзакция все же. Теперь понятнее стало. Никогда не запускал две транзакции одновременно в одной сессии, только вложенные. Поэтому не сталкивался с вами описываемым случаем... множественные пользовательские транзакции в рамках одной сессиии я встречал только в режиме работы с MARS. но у ТС другая проблема судя по снимку database_transactions у него две системные транзакции. у обоих type=3 Там вроде state 3, а type 1 вот они все и по нулям. Или у меня cvs криво открывается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 21:44 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
Yasha123умничать дальше Умничать <> пытаться понять как (разные, и не только умные) люди думают в случае возникновения задач. Возможно у нас разное понимание целей форума и я не уверен, что мое правильное. Но мне кажется, что если целью форума ставить исключительно выдачу правильных и "еще более правильных" ответов на вопросы, то форум превратится в площадку для решения задачек с практикумов "умными людьми" и место красования соответственно иерархии и рангу. Меня же лично интересует не решение, а процесс к нему приводящий, то самое "куда смотреть" и какие варианты могут быть и почему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 21:55 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
Простенький случай Код: 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. На разных версиях сервера результаты могут отличаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2018, 23:11 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
PizzaPizzaYasha123умничать дальше Умничать <> пытаться понять как (разные, и не только умные) люди думают в случае возникновения задач. Возможно у нас разное понимание целей форума и я не уверен, что мое правильное. Но мне кажется, что если целью форума ставить исключительно выдачу правильных и "еще более правильных" ответов на вопросы, то форум превратится в площадку для решения задачек с практикумов "умными людьми" и место красования соответственно иерархии и рангу. Меня же лично интересует не решение, а процесс к нему приводящий, то самое "куда смотреть" и какие варианты могут быть и почему. a какие варианты могут быть? человек словил баг, репро вряд ли будет, ибо, как ТС утверждает, до последнего времени этого не наблюдалось. а что надо было изменить в системе, чтобы на этот баг напороться, неизвестно. подобное люди ловят аж с 2008-ого года, на форумы вываливают, а ответа все нет. и виноваты здесь системные транзакции, а ведь кода самого сервера мы не видим, и изменить его тоже не в состоянии. --- этот баг и на табличных переменных ловят, и на временных таблицах, и никакой maxdop не поможет, и уж уровни изоляции ну точно никаким местом. что тут еще-то сказать? a вы все лезете и лезете с какими-то левыми рекомендациями, из которых ясно только одно: об устройстве сервера вы имеете очень далекое от истины представление. --- еще можно понять, когда человек невнимательно прочитал исходные данные и что-то там советует. но ведь уже все по 10 раз повторили, а вы это упорно игнорируете ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2018, 00:27 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
Yasha123a какие варианты могут быть? человек словил баг, репро вряд ли будет, ибо, как ТС утверждает, до последнего времени этого не наблюдалось. а что надо было изменить в системе, чтобы на этот баг напороться, неизвестно. подобное люди ловят аж с 2008-ого года, на форумы вываливают, а ответа все нет. и виноваты здесь системные транзакции, а ведь кода самого сервера мы не видим, и изменить его тоже не в состоянии. --- этот баг и на табличных переменных ловят, и на временных таблицах, и никакой maxdop не поможет, и уж уровни изоляции ну точно никаким местом. То есть "мы все умрем" и ваш совет ТС - смирись и перегрузись? Boring. Не. Я согласен, если бы у многих людей рандомно эта ошибка выпадала бы, то... ну что делать, сырой продукт. Но sql server не очень уж сырой продукт, да и данный сетап у ТС явно не стандартный и есть какие то кондиции которые приводят к это ошибке, следовательно это состояние можно отловить и посмотреть. А, как говорится, диагностика - половина решения. Конечно крайне интересно прочитать как "умные люди" диагностику делают, но увы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2018, 00:51 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
PizzaPizzaНо sql server не очень уж сырой продукт Блажен (не)верующий. Я вот уже 4 года и две разные мажорные версии пытаюсь понять, каким законам подчиняется внутренняя логика работы AlwaysOn, и, постепенно, прихожу к выводу, что исключительно законам божьим, причем, божества эти отнюдь не каноничны, нет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2018, 01:22 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей Алексеевич, Ну знаете... Вот карандашик и тетрадка простые продукты - всегда знаешь, что ожидать от них. А вы гоняете сервера в хвост и гриву с функционалом, о котором 90% пользователей даже и не в курсе. Если посчитать всякие embedded решения, которые используются как хранилище таблиц, то и 99%. На ком тренироваться/тестировать MS когда пользователей с такими нуждами мало. Опять же всякие кластеры и распределения это фишка хорошая, приятно её внедрить и обидно, когда не работает. Но как то не хочется верить, что основной функционал любой базы данных, вроде транзакций и tempdb, настолько глючный и непредсказуемый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2018, 01:53 |
|
||
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#18+
Это болезнь еще в 2008 была, совершенно верно. После того, как наши умники решили "прибирать за собой" временные таблицы. Ну хоть дедлоков не было, но процедуры внезапно тормозить начали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2018, 10:45 |
|
||
|
|

start [/forum/topic.php?all=1&fid=46&tid=1689020]: |
0ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
47ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
85ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 393ms |

| 0 / 0 |
