powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Ожидание блокировки локальной временной таблицы
25 сообщений из 81, страница 3 из 4
Ожидание блокировки локальной временной таблицы
    #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
25 сообщений из 81, страница 3 из 4
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Ожидание блокировки локальной временной таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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