We have a ASP.NET web application which sends a request to a windows service to delete/update records in a number of tables. Windows service does this in a stored procedure and that call is in ADO.NET TransactionScope.
If number of records involved are many, It takes 20-30 seconds and during that period If user tries to access other parts of ASP.NET web application (which would be in a different connection) which involves those tables, he gets timeout error (because the transaction is still in progress)
I can change the select queries to include the with(nolock)
hint or include SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
in the select stored procedures. However, that means I need to change all the select stored procedures which is not feasible at this point of time.
Also, I can't use SNAPSHOT
transaction isolation model as for that I need to set the isolation model of the database to SNAPSHOT
which wont be possible at this point of time.
Any alternatives?