Транзакция SQL зашла в тупик

Иногда я получаю такое исключение на не очень загруженном сервере 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

Я не могу его воспроизвести. Я попытался выполнить несколько запросов от разных клиентов одновременно, но этого не произошло. Как лучше всего справиться с такой проблемой, когда она происходит внутри процедуры или внутри триггера? Я имею в виду, как перезапустить транзакцию?

Как это сделать, когда возникает исключение внутри процедуры, вызванной из триггера, который был вызван вставкой, выполненной некоторой процедурой (то есть: процедура01 -> вставка -> триггер -> процедура02 !)

27
задан Piotr Salaciak 22 March 2011 в 09:41
поделиться