当前位置:   article > 正文

SQL Server 解决并发读锁问题_sqlserver 读已提交快照后,查询会锁表

sqlserver 读已提交快照后,查询会锁表

杀掉该数据库的所有连接

  1. DECLARE @d VARCHAR(8000)
  2. SET @d = ' '
  3. SELECT
  4. @d = @d + ' kill ' + CAST(spid AS VARCHAR) + CHAR(13)
  5. FROM
  6. MASTER.sys.sysprocesses
  7. WHERE
  8. dbid = DB_ID('数据库名称 ')
  9. EXEC (@d)

查询该数据库所有连接是否还有数据  有说明没杀掉所有连接

  1. SELECT * FROM
  2. [Master].[dbo].[SYSPROCESSES] WHERE [DBID]
  3. IN
  4. (
  5. SELECT
  6. [DBID]
  7. FROM
  8. [Master].[dbo].[SYSDATABASES]
  9. WHERE
  10. NAME='数据库名称'
  11. )

设置数据库 Read Committed Snapshot Isolation (已提交读快照隔离,RCSI)

ALTER DATABASE 数据库名称 SET READ_COMMITTED_SNAPSHOT ON

查询数据库是否已开启(已提交读快照隔离)  为1说明已开启

  1. SELECT name, is_read_committed_snapshot_on
  2. FROM sys.databases
  3. WHERE name = '数据库名称'

相关文章链接:SQLServer MVCC 行版本控制_duanbeibei的博客-CSDN博客_sqlserver行版本控制

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/759715
推荐阅读
相关标签
  

闽ICP备14008679号