SET TRANSACTION ISOLATION LEVEL SERIALIZEABLE
This isolation level is the most restrictive. It requests range locks the range of key values that are read by each statement in the transaction. This also means that INSERT
statements from other transactions will be blocked if the rows to be inserted are in the range locked by the current transaction.
This option has the same effect as setting HOLDLOCK
on all tables in all SELECT
statements in a transaction.
Note: This transaction isolation has the lowest concurrency and should only be used when necessary.