SQL Server视图从具有不同隔离级别的其他数据库中获取数据

时间:2017-10-01 16:22:32

标签: sql-server concurrency blocked

我们在同一个SQL Server 2012实例上有两个数据库。数据库dbA_optimistic包含一些包含数据记录的表,dbB_pessimistic包含一些从dbA_optimistic表中读取数据的视图。

dbA_optimistic使用乐观并发(READ_COMMITTED_SNAPSHOT ON),dbB_pessimistic(READ_COMMITTED_SNAPSHOT OFF)使用悲观并发。  optimistic-concurrency

对dbA的读访问不会获取读锁,并且在独占写访问期间不会阻止读访问。

对其他人持有独占写访问锁的dbB获取读锁和读访问的读访问被阻止。

简单的游戏。 :)

如果使用dbB中从dbA读取数据的视图读取数据会发生什么? dbB_view获取dbA_table的读锁吗?这个dbB_view是否访问阻止dbA读/写访问? (即使dbA设置为乐观并发,dbA中的悲观并发?)

我们查询了阻止dbA_table会话的dbB_views。 sp_lock给了我一些readlocks,似乎有线。

有什么想法吗?

0 个答案:

没有答案