To enable asynchronous command , the firts step is to set the new Async attribute to true in the connection string, other wise an exception will be thrown.There can be three different ways to build asynchronous commands : nonblocking , polling,callback Nonblocking Commands // Start a non-blocking execution IAsyncResult iar = cmd.BeginEcecuteReader(); // Do something else meanwhile ........................ // Block the execution untill done SqlDataReader reader = cmd.EndExecuteReader(); //Process...