If I use the command SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED and then execute a stored procedure using the EXEC storedProcedureName on the same context, will the stored procedure use the transaction level stated previously or will use a default one?
If I want to force every stored procedure to use on transaction level do I have to include at the top of the code the same statement (SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED)?
PS.: the system is built on top of .NET 2.0 and proprietary third party products with limitations, hence the need of these workarounds.
The stored procedure will use the transaction isolation in effect when called.
If the stored procedure itself sets an explicit isolation level this will be reset when the stored procedure exits.
(Edit: Just checked and this is contrary to what BOL says “… it remains set for that connection until it is explicitly changed” but can be seen from the below)
Results