Если в системе установлен бесконечный период ожидания завершения транзакции (а это задано по умолчанию), то при возникновении deadlock для двух транзакций вполне возможно, что, ожидая освобождения заблокированных ресурсов, в тупике окажутся и новые транзакции.
Чтобы избежать подобных проблем, в среде MS SQL Server реализован специальный механизм разрешения конфликтов deadlock.
Для этих целей сервер снимает одну из блокировок, вызвавших конфликт, и откатывает инициализировавшую ее транзакцию. При выборе блокировки, которой необходимо пожертвовать, сервер исходит из соображений минимальной стоимости.