Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Ожидание блокировки локальной временной таблицы
|
|||
|---|---|---|---|
|
#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 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39711255&tid=1689020]: |
0ms |
get settings: |
5ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 276ms |
| total: | 423ms |

| 0 / 0 |
