Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 隔离级别问题。Can';即使设置为ReadUncommitted,也无法访问表_C#_Sql Server_Sql Server 2008 - Fatal编程技术网

C# 隔离级别问题。Can';即使设置为ReadUncommitted,也无法访问表

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

我对这段代码有一些问题。当我运行它时,我希望它不会锁定事务使用的表。为了实现这个目标,我将隔离级别设置为readuncommitted

问题是它仍然锁定表,就像isolationLevel是可序列化的一样。我正在使用SQLServer2008

代码如下:

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
将始终使用锁。对于您显示的代码,它应该是一个行锁。