title: Does Sql make implicit rollback if my rollback timeout?
body: <p>I have a dotnet applicaton that executes a set of insert,update,delete statements in transactionaly manner</p>
  
  <p>The code is like this</p>
  
  <pre><code>try
  {
  mytrans = mycon.begintransaction();
  //execute sql statements
  mytrans.commit();
  }
  catch(Exception)
  {
  mytrans.rollback();
  }
  </code></pre>
  
  <p>The problem is that sometimes we faced timeout exceptions in rollback and I found that the database size (mdf file) increased!!!
  So it means Sql will not make implicit rollback? if so how can I recover from this error and go to the original state???</p>