Hi, clients using our application from time to time report the error:
Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding
I understand this error could occur from:
Long running tasks, uncommitted transactions, table locking, server resources or network latency.
The thing is our application needs to be a corporate solution for multiple users at the same time so extending the timeout expiration to infinity could be a solution to accommodate long running tasks, table locking, server resources and network latency. But the user experience would be pretty poor when that occurs.
If the timeout is from table locking by long running transactions I think that improving all SQL statements locking by using ROWLOCKING would allow the application to be used by multiple people at the same time.
The increased timeout value would however still be needed for servers with low resources or high network latency.
Are these valid conclusions? I am looking for some validation before sending my team of to change the application.