Microsoft.Data.SqlClient.SqlException:“快照隔离事务访问数据库“ IsolationLevel.Snapshot
Microsoft.Data.SqlClient.SqlException:“快照隔离事务访问数据库 'CSFramework_WebAPI_V3' 失败,因为在此数据库中不允许快照隔离。请使用 ALTER DATABASE 以允许快照隔离。”
解决方案:
Sql Server 提供了两种基于快照的隔离类型,他们都是利用行版本控制来维护快照的:
1、已提交读快照隔离(RCSI),通过修改数据库的一个选项来启用
SQL 全选
alter database CSFramework_WebAPI_V3 set READ_COMMITTED_SNAPSHOT on
2、快照隔离(SI),必须在两个地方开启
A、启用数据库的ALLOW_ISOLATION_SNAPSHOT选项
SQL 全选
alter database CSFramework_WebAPI_V3 set ALLOW_SNAPSHOT_ISOLATION on
B、通过set transaction isolation level 命令为每个想要使用SI的连接设置隔离级别
SQL 全选
set transaction isolation level snapshot
完整脚本
SQL 全选
USE Carton_JuYa_Normal;
alter database Carton_JuYa_Normal set READ_COMMITTED_SNAPSHOT ON;
alter database Carton_JuYa_Normal set ALLOW_SNAPSHOT_ISOLATION ON;
set transaction isolation level SNAPSHOT;
USE Carton_JuYa_System;
alter database Carton_JuYa_System set READ_COMMITTED_SNAPSHOT ON;
alter database Carton_JuYa_System set ALLOW_SNAPSHOT_ISOLATION ON;
set transaction isolation level SNAPSHOT;
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网