C# 隔离级别问题。Can';即使设置为ReadUncommitted,也无法访问表
我对这段代码有一些问题。当我运行它时,我希望它不会锁定事务使用的表。为了实现这个目标,我将隔离级别设置为readuncommitted 问题是它仍然锁定表,就像isolationLevel是可序列化的一样。我正在使用SQLServer2008 代码如下:C# 隔离级别问题。Can';即使设置为ReadUncommitted,也无法访问表,c#,sql-server,sql-server-2008,C#,Sql Server,Sql Server 2008,我对这段代码有一些问题。当我运行它时,我希望它不会锁定事务使用的表。为了实现这个目标,我将隔离级别设置为readuncommitted 问题是它仍然锁定表,就像isolationLevel是可序列化的一样。我正在使用SQLServer2008 代码如下: using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions() { Isolation
using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions() { IsolationLevel = System.Transactions.IsolationLevel.ReadUncommitted }))
{
while (true)
{
using (SqlConnection connection = new SqlConnection(ConnectionString))
{
connection.Open();
Console.WriteLine(Transaction.Current.IsolationLevel);
SqlUtils.ExecuteNonQuery(connection, "INSERT INTO test4 (test) VALUES ('ASDASDASD')");
}
Thread.Sleep(1000);
}
scope.Complete();
}
事务隔离级别
readuncommitted
仅适用于读取数据时(如名称所示)。它将读取尚未提交的数据
据我所知,在插入或更新数据时,无法阻止SQL Server在表上加锁。事务隔离级别
Read Uncommitted
仅适用于读取数据时(如名称所示)。它将读取尚未提交的数据
据我所知,在插入或更新数据时,无法阻止SQL Server在表上加锁。ReadUncommitted,顾名思义,会影响读卡器,即读操作是否应该使用读锁和密钥范围锁;他们是否应该尊重现有的锁等 我想知道你是否会在这里提供任何东西,但请不要使用它。求你了
如果您的竞争阅读器需要查看未提交的数据,请更改阅读器的隔离级别。另外,不用说,但是不建议长时间运行的事务(尤其是DTC/LTM事务)。ReadUncommitted,顾名思义,会影响读卡器-即读操作是否应该采用读锁和密钥范围锁;他们是否应该尊重现有的锁等 我想知道你是否会在这里提供任何东西,但请不要使用它。求你了
如果您的竞争阅读器需要查看未提交的数据,请更改阅读器的隔离级别。另外,不用说,但不建议使用长时间运行的事务(尤其是DTC/LTM事务)。
INSERT
将始终锁定。对于您显示的代码,它应该是一个行锁。INSERT
将始终使用锁。对于您显示的代码,它应该是一个行锁。