 <p>First, I would review my SQL 2000 code and get to the bottom of why this deadlock is happening. Fixing this may be hiding a bigger problem (Eg. missing index or bad query). </p> <p>Second I would review my architecture to confirm the deadlocking statement really needs to be called that frequently (Does <code>select count(*) from bob</code> have to be called 100 times a second?). </p> <p>However, if you really need some deadlock support and have no errors in your SQL or architecture try something along the following lines. (Note: I have had to use this technique for a system supporting thousands of queries per second and would hit deadlocks quite rarely) </p> <pre><code>int retryCount = 3; bool success = false; while (retryCount &gt; 0 &amp;&amp; !success) { try { // your sql here success = true; } catch (SqlException exception) { if (exception.Number != 1205) { // a sql exception that is not a deadlock throw; } // Add delay here if you wish. retryCount--; if (retryCount == 0) throw; } } </code></pre>