關於數據庫隔離級別-快照(SnapShot)

在事務中將隔離級別設為SnapShot,可提升迸發性能,這裏簡單介紹下設置使用方法

在單獨事務中啟用SNAPSHOT

不開啟默認選項,但需要在單獨的事務中使用快照,需要先開啟一個數據庫選項

  • 開啟選項,允許快照隔離

    • SSMS操作
      資源管理器選中某數據庫-屬性-選項-允許快照隔離-True
    • T-SQL操作
      ALTER DATABASE DBName SET ALLOW_SNAPSHOT_ISOLATION ON
  • 在事務操作前加SET TRAN ISOLATION LEVEL SNAPSHOT

    • 例子
      SET TRAN ISOLATION LEVEL SNAPSHOT
      your transaction code

設置數據庫默認為COMMITTED_SNAPSHOT

數據庫默認級別設置後,事務前不用加Set語句就可以起到快照效果

  • SSMS設置
    資源管理器選中某數據庫-屬性-選項-讀提交快照處於打開狀態-True
  • T-SQL設置
 ALTER DATABASE DBName SET READ_COMMITTED_SNAPSHOT ON

查詢數據庫是否開啟了相關設置

SELECT database_id,name
      ,snapshot_isolation_state -- 1代表 允許快照隔離
      ,is_read_committed_snapshot_on -- 1 代表 默認隔離級別為 Read Committed SnapShot
FROM sys.databases

猜你喜欢

转载自blog.csdn.net/benjayming/article/details/80154338