我可以在我的c#应用程序中同时使用ReadCommitted和ReadCommittedSnapshot事务隔离级别吗
本文关键字:ReadCommittedSnapshot ReadCommitted 事务 隔离级 我的 应用程序 我可以 | 更新日期: 2023-09-27 18:19:27
对于某些sql查询,是否有一种方法可以使用ReadCommited事务隔离级别,而对于其他查询,则使用ReadCommitedSnapshot?
据我所知,一旦我的数据库SET READ_COMMITTED_SNAPSHOT ON
,我以前在ReadCommitted IL下运行的所有事务都将切换到RCS。
在.NET
中,我只有IsolationLevel.ReadCommited
。
当然,我不能在每次查询之前都打开/关闭SET READ_COMMITTED_SNAPSHOT
,因为它只需要一个sql连接(实际上需要一些时间)。
有什么选择吗?
编辑:向上!!!!!
在SQL Server级别,如果ALLOW_SNAPSHOT_ISOLATION
是ON
,则可以使用SET ISOLATION LEVEL
语句对其进行控制不要打开READ_COMMITTED_SNAPSHOT
。
这样,那些应该具有正常RC
的连接就可以运行:
SET TRANSACTION ISOLATION LEVEL READ_COMMITTED
(或者什么都不做)
对于想要"RCS
"的连接,运行:
SET TRANSACTION ISOLATION LEVEL SNAPSHOT
使用快照隔离级别,它实际上映射到READ_COMMITTED_Snapshot这里是msdn链接http://msdn.microsoft.com/en-us/library/system.transactions.isolationlevel.aspx