也许我对事务或SQL Server的操作存在误解,但请考虑以下T-SQL语句:
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
GO
BEGIN TRANSACTION
-- DO SOME READS AND OTHER THINGS
COMMIT
-- OK, WHAT HAPPENS TO THE ISOLATION LEVEL AFTER THIS?
也许这并不重要,但我喜欢有一种温暖的感觉:当我完成目标后,将事物恢复到之前的状态。无论之前的状态是什么,是否可能将隔离级别重置回原始状态?
SET TRANSACTION ISOLATION LEVEL
:"如果您在存储过程或触发器中发出 SET TRANSACTION ISOLATION LEVEL 命令,则当对象返回控制时,隔离级别将重置为调用对象时生效的级别"。 - Damien_The_Unbeliever