title: How to stream rows from a SQL Server table into a .NET app, in 10000 row chunks?
body: <p>I have a table with 300 million rows in Microsoft SQL Server 2008 R2. There is a clustered index on the date column <code>[DataDate]</code> which means that the entire table is ordered by the date column.</p>
  
  <p>How do I stream out the data from this table, into my .NET application, in 10000 row chunks?</p>
  
  <p>Environment:</p>
  
  <ul>
  <li>Using C#.</li>
  <li>Have to be able to pause the data stream at any point, to allow the client to process the rows.</li>
  <li>Unfortunately, cannot use a <code>select * from</code> as this will select the entire table (its 50GB - it won't fit into memory).</li>
  </ul>