Transaction (Process ID) was deadlocked on resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
Il ***deadlock*** si verifica quando due sessioni concorrenti rimangono in attesa di accedere a risorse bloccate dall'altra sessione. Quando un'istanza di SQL Server rileva che due sessioni sono coinvolte in un deadlock, risolve il deadlock scegliendo una delle sessioni come ***vittima del deadlock***. La vittima subirà un rollback della transazione corrente e il client riceverà il messaggio di errore relativo al ***deadlock 1205***. Ciò provoca il rilascio delle risorse bloccate dalla sessione vittima permettendo il proseguimento all'altra sessione. SQL Server sceglie la "vittima" in relazione alla ***priorità di deadlock delle sessioni***. In caso di pari priorità sarà scelta la sessione per la quale il rollback risulti meno oneroso. L'opzione SET DEADLOCK_PRIORITY viene impostata in fase di esecuzione, non in fase di analisi.
SET DEADLOCK_PRIORITY { LOW | NORMAL | HIGH | | @deadlock_var | @deadlock_intvar } ::= { -10 | -9 | -8 | … | 0 | … | 8 | 9 | 10 }












