Jea*_*erc 1 c# sql-server sql-server-2008
我对这段代码有些问题.当我运行它时,我希望它不会锁定事务使用的表.为实现此目标,我将隔离级别设置为ReadUncommited.
问题是它仍然锁定表,就像isolationLevel是Serializable一样.我正在使用SQL Server 2008
这是代码:
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();
}
Run Code Online (Sandbox Code Playgroud)
事务隔离级别Read Uncommitted仅在读取数据时应用(如名称所示).它将读取尚未提交的数据.
当我INSERT或UPDATE数据时,我无法阻止SQL Server对表进行锁定.