title: How long will dirty reads stay visible?
body: <p>While running the stored procedure CSP1 on AZURE SQL 2012 (Standard: S0) I also ran concurrently </p>
  
  <pre><code>SELECT TOP 10 * 
  FROM [affected_table] WITH (NOLOCK) 
  ORDER BY 1 DESC
  </code></pre>
  
  <p>Which returns past 10 records in the [affected_table] including those UNCOMMITED by CSP1. When the CSP1 fails and ROLLBACK, no records had been inserted into the <code>[affected_table]</code> yet when I re-run the same <code>SELECT</code> query with NOLOCK I can still see all those phantom records there.</p>
  
  <p>Shouldn't these be cleared after the ROLLBACK is finished ?</p>
  
  <p>Should I be clearing the cache?</p>