9 concurrency azure-sql-database isolation-level sql-server-2017
我正在阅读一本与事务和并发相关的书。在一段中提到:
下一句是:
我的问题是:这两句话中的“本地 SQL Server 实例”和“SQL 数据库”有什么区别?
什么是默认隔离级别,如何找到它?是否有任何特殊查询可以找出默认隔离级别?
Eri*_*ing 14
它指的是默认使用RCSI 的Azure SQL 数据库。
隔离级别 SQL
数据库默认数据库范围设置是通过将 READ_COMMITTED_SNAPSHOT 和 ALLOW_SNAPSHOT_ISOLATION 数据库选项设置为 ON 来启用读提交快照隔离 (RCSI),在此处了解有关隔离级别的更多信息。您无法更改数据库默认隔离级别。但是,您可以在连接上显式控制隔离级别。
在本地 SQL Server 中,默认隔离级别是已提交读。
找到“默认”隔离级别有点像鹅追逐。这将取决于发起查询的数据库,以及查询中是否存在覆盖数据库级别设置的任何提示。
也就是说,您可以查询sys.databases以了解是否启用了 RCSI 或 SI。
SELECT d.name,
d.is_read_committed_snapshot_on,
d.snapshot_isolation_state
FROM sys.databases AS d;
Run Code Online (Sandbox Code Playgroud)
请注意,这在READ_COMMITTED_SNAPSHOT技术上不是隔离级别。相反,它是一个控制实现的数据库选项,以便使用行版本控制而不是锁定来为使用READ_COMMITTED隔离级别的会话提供读取一致性。
| 归档时间: |
|
| 查看次数: |
3530 次 |
| 最近记录: |