【问题标题】:Deadlock with ReadUncommitted?ReadUncommitted 死锁?
【发布时间】:2023-03-14 14:55:01
【问题描述】:

在 ADO.NET 中,将事务隔离级别设置为 ReadUncommitted 然后回滚该事务是否像“脏读”一样有效?

如果是这样,为什么它会在 ExecuteReader 上死锁?

代码:

 command.Transaction = connection.CreateTransaction(IsolationLevel.ReadUncommitted);
 command.CommandTimeout = 0;
 command.CommandText = query;
 command.CommandType = CommandType.Text;
 var reader = command.ExecuteReader(CommandBehavior.Default);
 ...

【问题讨论】:

  • 脏读并不意味着它不做任何锁,所以脏读仍然可能出现死锁。

标签: .net sql-server ado.net


【解决方案1】:

Read Uncommitted 将允许事务读取由尚未提交的其他事务所做的插入/更新,本质上充当脏读。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-27
    • 2014-06-08
    • 2013-11-30
    • 2013-12-25
    • 2015-01-29
    • 2017-03-02
    相关资源
    最近更新 更多