Como o gbn já mencionou, existem dois tipos de timeouts:
1) Tempo limite de conexão:isso é controlado pela sua string de conexão:
Data Source=.;Initial Catalog=TestDB;
Trusted_Connection=true;Asynchronous Processing=true
Se você adicionar um
Connect Timeout=120
para esta string, sua conexão tentará por 120 segundos para ser aberta e depois será abortada. Data Source=.;Initial Catalog=TestDB;
Trusted_Connection=true;Asynchronous Processing=true;
Connect Timeout=120;
2) Tempo limite do comando:para cada comando, você também pode especificar um tempo limite - o ADO.NET aguardará esse tempo antes de cancelar sua consulta. Você especifica isso no objeto SqlCommand:
using (SqlCommand RetrieveOrderCommand = new SqlCommand())
{
RetrieveOrderCommand.CommandTimeout = 150;
}