title: SQL Server locking on SELECT
body: <p>I have built a web service that queries new data using an iterator (bigint) from a big table (100+ million rows) in an accounting system (SQL Server 2008 R2 Standard Edition).</p>
  
  <p>The provider of the database has forced us to read uncommited transactions to ensure that we do not lock up the table for inserts (updates are never made).</p>
  
  <p>Lately this has caused us trouble due to rollbacks. The accounting system has rollback rows that was already read by the web service due to errors and timeouts causing my system to store data that never should existed.</p>
  
  <p>I think reading commited data would solve this but the accounting system provider will not let us since they are worried that it will lock inserts into the table.</p>
  
  <p>Can the select actually block inserts and how would we best solve it?</p>