powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Откуда столько дедлоков?
20 сообщений из 20, страница 1 из 1
Откуда столько дедлоков?
    #39721034
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть ХП

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
CREATE PROCEDURE [dbo].[GetSession]
	@emp_login VARCHAR(256)
AS
BEGIN
	SET NOCOUNT ON;

	DECLARE @sid VARBINARY(85) = SUSER_SID(@emp_login)
	SET @emp_id = (SELECT TOP(1) elgn_emp FROM EmpLogins (NOLOCK) WHERE elgn_sid = @sid)		
	UPDATE Employee SET emp_logon = GETDATE() WHERE emp_id = @emp_id
	...



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

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

блокировка и дедлок это как бы не одно и тоже
щет
...
Рейтинг: 0 / 0
Откуда столько дедлоков?
    #39721043
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а почиму они не снимаются?
т.е накладывается монопольная блокировка и другие запросы не выполняются?
...
Рейтинг: 0 / 0
Откуда столько дедлоков?
    #39721044
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сорри за ошибки, на нервах :)
...
Рейтинг: 0 / 0
Откуда столько дедлоков?
    #39721050
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoview,

автора почиму они не снимаются?
отсюда не видно. Смотрите чего ждут, в вашем случае - чего ждала 194 сессия
...
Рейтинг: 0 / 0
Откуда столько дедлоков?
    #39721271
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Получается была монопольная блокировка на Employee
надо было посмотреть кто блокировал
блокировала та же сессия, ибо после килла заработало
но поздно уже, сейчас не посмотреть
...
Рейтинг: 0 / 0
Откуда столько дедлоков?
    #39721275
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoview,

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

авторблокировала та же сессия, ибо после килла заработало
пациента пристрелили, ибо после смерти насморк прошёл... такая логика?
надо было смотреть что за запрос в 194
но сейчас поздно уже
...
Рейтинг: 0 / 0
Откуда столько дедлоков?
    #39721285
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKlisttoview,

авторблокировала та же сессия, ибо после килла заработало
пациента пристрелили, ибо после смерти насморк прошёл... такая логика?Бывает, если встаёт продакшен, приходиться восстанавливать работоспособность, ценой невозможности разобраться с багом.
listtoviewно поздно уже, сейчас не посмотретьПодготовте скрипт, который сохраняет участвующие в блокировке сессии, вместе с соотв. запросами.
Что бы, в случае чего, можно было потом разобраться.
...
Рейтинг: 0 / 0
Откуда столько дедлоков?
    #39721290
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgTaPaKlisttoview,

пропущено...

пациента пристрелили, ибо после смерти насморк прошёл... такая логика?Бывает, если встаёт продакшен, приходиться восстанавливать работоспособность, ценой невозможности разобраться с багом.
listtoviewно поздно уже, сейчас не посмотретьПодготовте скрипт, который сохраняет участвующие в блокировке сессии, вместе с соотв. запросами.
Что бы, в случае чего, можно было потом разобраться.
посмотрю в отчете и dbcc inputbuffer(194)
...
Рейтинг: 0 / 0
Откуда столько дедлоков?
    #39721291
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg,
авторБывает, если встаёт продакшен, приходиться восстанавливать работоспособность, ценой невозможности разобраться с багом.

я не про решение, я про логику вывода
...
Рейтинг: 0 / 0
Откуда столько дедлоков?
    #39721301
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoviewalexeyvgПодготовте скрипт, который сохраняет участвующие в блокировке сессии, вместе с соотв. запросами.
Что бы, в случае чего, можно было потом разобраться.
посмотрю в отчете и dbcc inputbuffer(194)Попробуйте sp_WhoIsActive, покажет сами стейтменты, и другую полезную информацию. А с параметром @find_block_leaders покажет цепосчки блокировок.
Скачать можно отсюда .
Некоторое описание есть на Хабре
...
Рейтинг: 0 / 0
Откуда столько дедлоков?
    #39721304
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoviewно сейчас поздно ужеВыяснить почему ваш UPDATE блокирует какую-то таблицу целиком никогда не поздно.
...
Рейтинг: 0 / 0
Откуда столько дедлоков?
    #39721316
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invmlisttoviewно сейчас поздно ужеВыяснить почему ваш UPDATE блокирует какую-то таблицу целиком никогда не поздно.
не он блокировал
а его блокировали
...
Рейтинг: 0 / 0
Откуда столько дедлоков?
    #39721343
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoviewне он блокировал
а его блокировалиИз-за того, что хотел блокировать таблицу целиком и не смог.
Впрочем, искать и лечить проблему или нет - дело сугубо ваше.
...
Рейтинг: 0 / 0
Откуда столько дедлоков?
    #39721444
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invmlisttoviewне он блокировал
а его блокировалиИз-за того, что хотел блокировать таблицу целиком и не смог.
Впрочем, искать и лечить проблему или нет - дело сугубо ваше.
а, вы имели ввиду другой update
да не факт, может какой ниб ребилд индексов
у меня 2016 стандарт

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

смотрю какой запрос блокирует
Код: sql
1.
dbcc inputbuffer(129)


вижу
Код: sql
1.
SELECT T1."call_id", T1."call_date", ...



а разве select умеет накладывать монопольную блокировку в read committed?
из 1C выполняется запрос
...
Рейтинг: 0 / 0
Откуда столько дедлоков?
    #39721461
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoview,

читать про shared lock, а то у вас какая-то одна блокировка.
ну и или разбирайтесь почему пересекаются (или Update вообще всю таблицу ждёт) или RCSI
...
Рейтинг: 0 / 0
Откуда столько дедлоков?
    #39721521
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoviewinvmпропущено...
Из-за того, что хотел блокировать таблицу целиком и не смог.
Впрочем, искать и лечить проблему или нет - дело сугубо ваше.
а, вы имели ввиду другой update
да не факт
...
он не имел в виду другой апдэйт.
он имел в виду именно ваш ,
желающий получить Х на всю таблицу целиком,
хотя ведь ему вся таблица не нужна,
лишь строки с данным конкретным emp_id
(у кого-то нет индекса по emp_id?)
---
и уж разумеется достаточно иметь любого читателя на таблице,
чтобы не суметь получить на нее эксклюзивную блокировку
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Откуда столько дедлоков?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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