Иногда я получаю такое исключение на не очень занятом SQL-сервере:
Transaction (Process ID 57) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
Line number: 1
Error Number: 1205
Procedure:
Server name: P01
Error Source: .Net SqlClient Data Provider
Error State: 47
Я не могу воспроизвести его. Я пытался одновременно запускать несколько запросов от разных клиентов, но он не отображался. Каков наилучший способ справиться с такой проблемой, когда это происходит внутри процедуры или внутри триггера? Я имею в виду, как перезапустить транзакцию?
Как это сделать, когда исключение происходит внутри процедуры, вызванной из триггера, которая была вызвана вставкой, сделанной некоторой процедурой (то есть: procedure01 → insert → trigger → procedure02!)