SQL Server error: Timeout expired. The timeout period elapsed prior to completion

Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.

This is a client-side timeout (ADO.NET, ODBC, your app's connection library) giving up after waiting longer than its configured limit — it almost always means the query itself is slow, not that the network or server is broken.

Common causes

How to fix it

  1. First determine if it's actually slow or blocked: check sys.dm_exec_requests / sys.dm_os_waiting_tasks for the session while it's running.
  2. If it's a genuinely slow query, get the actual execution plan and look for scans, missing index suggestions, and high-cost operators.
  3. If it's blocking, find the head blocker and address that session/transaction, not the one timing out.
  4. Update statistics (UPDATE STATISTICS) if the plan looks stale relative to actual data volume.
  5. Only raise the client timeout as a last resort — it hides the problem rather than fixing it.

Paste your slow query and execution plan here for a full diagnosis and optimized rewrite.

Try query analyzer free →

Related