如果SQL Server中使用的隔离级别与System.Transactions.TransactionScope中的隔离级别之间存在差异,会发生什么。
例如,请考虑以下情况:TransactionScope.IsolationLevel返回READ COMMITTED,DBCC USEROPTIONS(在SQL Studio Manager中执行)返回READ UNCOMMITTED。
我已对此进行了测试,看来USEROPTIONS中的设置就是其他VB.NET客户端能够执行SELECT语句(选择“脏”数据),而如果事务范围隔离,则VB.NET事务范围正在进行中level为READ COMMITTED,并且未提交USEROPTIONS隔离级别。
我找不到MSDN的任何参考资料来证实这一点。任何人都可以确认这是行为还是指向MSDN参考?
答案 0 :(得分:0)
我在这里找到答案:http://blog.sqlauthority.com/2010/05/24/sql-server-check-the-isolation-level-with-dbcc-useroptions。
useroptions命令返回当前会话的设置,即SQL工作室管理器会话。 vb.net sqltransaction在具有不同隔离级别的不同会话中运行。