• There are a couple of things I would do before killing a process.

    1. Run sp_lock [spid] for each spid to see what is object(s) are causing the deadlock and the types of locks. You will see a wait for the blocked spid.

    2. Run DBCC InputBuffer([spid]) for each spid involved to find the statements that are causing the deadlock.

    Once you find this you can then determine if indexing may help (possibly reduce the type of lock from table to page/row), refactor the code in the offending statements to access tables in the same order, and determine there are long-running transactions that can be broken down in to smaller transactions.