Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Транзакция вызвала взаимоблокировку ресурсов. Посоветуйте что делать? / 9 сообщений из 9, страница 1 из 1
07.10.2019, 11:53
    #39872467
Игорь_UUS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция вызвала взаимоблокировку ресурсов. Посоветуйте что делать?
Добрый день.

Работает пользователей примерно 50 в одной локальной сети. Иногда 1 раз а час-два у кого-ни-будь возникает ошибка:

Код: sql
1.
2.
Error: SCH_EV1_FixMessage, 1205, Транзакция (идентификатор процесса 55) вызвала взаимоблокировку ресурсов блокировка | буфер 
связи с другим процессом и стала жертвой взаимоблокировки. Запустите транзакцию повторно.



При вызове хранимки, в начале вызывается BEGIN TRANSACTION, затем множество различных операций в виде вызова хранимых процедур и COMMIT TRANSACTION.

Да, воспроизводиться, так сказать, в последних обновлениях, действительно SCH_EV1_FixMessage новая хранимка... но не могу понять, что за взаимоблокировка... посоветуйте на что стоит обратить внимание?
...
Рейтинг: 0 / 0
07.10.2019, 12:22
    #39872482
Yasha123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция вызвала взаимоблокировку ресурсов. Посоветуйте что делать?
граф отловите и сюда выложьте
...
Рейтинг: 0 / 0
07.10.2019, 12:45
    #39872500
Игорь_UUS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция вызвала взаимоблокировку ресурсов. Посоветуйте что делать?
Yasha123граф отловите и сюда выложьте

"граф отловите" - это как отловить, не совсем понял...
...
Рейтинг: 0 / 0
07.10.2019, 12:50
    #39872506
uaggster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция вызвала взаимоблокировку ресурсов. Посоветуйте что делать?
Игорь_UUSYasha123граф отловите и сюда выложьте

"граф отловите" - это как отловить, не совсем понял...
https://www.mssqltips.com/sqlservertip/5658/capturing-sql-server-deadlocks-using-extended-events/
...
Рейтинг: 0 / 0
07.10.2019, 13:24
    #39872538
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция вызвала взаимоблокировку ресурсов. Посоветуйте что делать?
Игорь_UUS,

если default trace включен, то попробуйте запросом :

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SELECT 
		dateadd(hh
			,datediff(hh,getutcdate(),getdate())
			,convert(datetime,CONVERT(xml, f.event_data).value('(event[@name="xml_deadlock_report"]/@timestamp)[1]','datetime'))
			) as  [dt]
		,CONVERT(xml, event_data).query('/event/data/value/child::*') [Deadlock]
FROM sys.traces t 
cross apply sys.fn_xe_file_target_read_file(reverse(stuff(reverse(t.[path]),1,CHARINDEX('\',reverse(t.[path]),1)-1,''))+'system_health*.xel', null,  null, null) f
WHERE f.object_name = 'xml_deadlock_report'
order by 1 desc
...
Рейтинг: 0 / 0
07.10.2019, 13:24
    #39872539
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция вызвала взаимоблокировку ресурсов. Посоветуйте что делать?
...
Рейтинг: 0 / 0
07.10.2019, 14:35
    #39872613
Игорь_UUS
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция вызвала взаимоблокировку ресурсов. Посоветуйте что делать?
komradИгорь_UUS,

если default trace включен, то попробуйте запросом :

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SELECT 
		dateadd(hh
			,datediff(hh,getutcdate(),getdate())
			,convert(datetime,CONVERT(xml, f.event_data).value('(event[@name="xml_deadlock_report"]/@timestamp)[1]','datetime'))
			) as  [dt]
		,CONVERT(xml, event_data).query('/event/data/value/child::*') [Deadlock]
FROM sys.traces t 
cross apply sys.fn_xe_file_target_read_file(reverse(stuff(reverse(t.[path]),1,CHARINDEX('\',reverse(t.[path]),1)-1,''))+'system_health*.xel', null,  null, null) f
WHERE f.object_name = 'xml_deadlock_report'
order by 1 desc



Что-то получил... несколько записей...
на что там обратить внимание, как правильно читать?
...
Рейтинг: 0 / 0
07.10.2019, 14:56
    #39872639
Yasha123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция вызвала взаимоблокировку ресурсов. Посоветуйте что делать?
Игорь_UUSЧто-то получил... несколько записей...
на что там обратить внимание, как правильно читать?
вываливайте весь xml под спойлер
...
Рейтинг: 0 / 0
07.10.2019, 15:19
    #39872668
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция вызвала взаимоблокировку ресурсов. Посоветуйте что делать?
где-то потерялся t.id=1

вот верный вариант:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
SELECT 
		dateadd(hh
			,datediff(hh,getutcdate(),getdate())
			,convert(datetime,CONVERT(xml, f.event_data).value('(event[@name="xml_deadlock_report"]/@timestamp)[1]','datetime'))
			) as  [dt]
		,CONVERT(xml, event_data).query('/event/data/value/child::*') [Deadlock]
FROM sys.traces t 
cross apply sys.fn_xe_file_target_read_file(reverse(stuff(reverse(t.[path]),1,CHARINDEX('\',reverse(t.[path]),1)-1,''))+'system_health*.xel', null,  null, null) f
WHERE f.object_name = 'xml_deadlock_report'

and t.id=1

order by 1 desc

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


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