Howto (async?) preview intermediate resultset Is it possible to retrieve parts of the resultset from SQL Server queries in advance? 
For instance if I run a query that will return 20,000 rows, is it possible to throw the results in packages of 100 to the requesting instance (.net code for instance) and allow using them instead of waiting for all 20,000 rows to be read and returned?

A similar behaviour I have observed using SSMS: The resultset is filled ongoing even before the query is completed. Don't know if this is the same, but I am pretty sure if I run an SqlClient ExecuteNonQuery command, I would have to wait for all data being returned before I can fill e.g. a datagridview.

I do not know the ideal wording for this scenario, maybe this is the reason I can't find similar questions.

I have read about OPTION FAST that seems to have no effect. Does this really address the question?
What you describe is the default behaviour of SQL Server's query execution and client connection protocols. Rows are delivered to the server's network buffer as they are produced from an executing query plan. The network delivers them to the client, which makes them available to the application.

I think the pause you see is caused by how the application consumes the dataset returned. It's been a while, but I think SqlDataReader.Read() allows stream-like behaviour.

The risk is that the application falls behind SQL Server and the connection and server resources remain locked up until the application explicitly releases them.