title: Preventing entire table from locking while bulk INSERT
body: <p>I have a stored procedure that performs a bulk insert in a table. I added <code>BEGIN TRANSACTION</code> command just above the <code>INSERT</code> query to enable <code>ROLL BACK</code> if something goes wrong. When the bulk insert initiated, it locked the entire table and other users were unable to execute <code>SELECT</code> on the same table.</p>
  
  <p>I am not following why SQL Server locks entire table for even a <code>SELECT</code>. </p>
  
  <p>I am using SQL Server 2005 Express. Is this a problem with this version or it persists in 2008 as well? How to overcome this situation? <strong>Writers should not block Readers</strong>.</p>