title: Do writes in SNAPSHOT isolation level block writes in another SNAPSHOT transaction in SQL Server 2008 R2
body: <p>For SNAPSHOt isolation level in SQL Server 2008 R2, the following is mentioned in MSDN ADO.Net documentation:</p>
  
  <blockquote>
    <p>Transactions that modify data do not block transactions that read data, and transactions that read data do not block transactions that write data, as they normally would under the default READ COMMITTED isolation level in SQL Server.</p>
  </blockquote>
  
  <p>There is no mention of whether writes will block writes, when both transactions are in SNAPSHOT isolation mode. So my question is as follows:
  <strong>Will writes in a SNAPSHOT transaction1 block writes to same tables in another SNAPHOT transaction2?</strong></p>
  
  <p><strong>LATEST UPDATE</strong></p>
  
  <p>After doing a lot of thinking on my question, I am coming to a conclusion as mentioned in paragraph below. Hope others can throw more light on this.</p>
  
  <blockquote>
    <p><strong>There is no relational database  in which writes do NOT block writes</strong>. In other words, writes will <em>always</em> block writes. Writes would include statements like INSERT or UPDATE or DELETE. This is true no matter which isolation level you use, since all relational databases need to implement data consistency, when multiple writes are happening in database. Of course, the simultaneous writes need to be conflicting ( as in inserting into the same table or updating the same row/s) for this blocking to occur.</p>
  </blockquote>