SQL Server开启READ_COMMITTED_SNAPSHOT
--查询数据库状态
select name,user_access,user_access_desc,
snapshot_isolation_state,
snapshot_isolation_state_desc,
is_read_committed_snapshot_on from sys.databases
--设置数据库为SINGLE_USER模式,减少锁定时间
ALTER DATABASE dbname SET SINGLE_USER WITH ROLLBACK IMMEDIATE
ALTER DATABASE dbname SET ALLOW_SNAPSHOT_ISOLATION ON
ALTER DATABASE dbname SET READ_COMMITTED_SNAPSHOT ON
ALTER DATABASE dbname SET MULTI_USER
公司AX新项目上线,所有的过账动作都卡在那里,代码未做任何修改,此时我们可以检查一下SqlServer 数据库的属性。
涉及到数据库如何处理并发锁的问题。
打开 read_committed_snapshot, 并发动作就变得正常了。