开启MSSQL数据库的RCSI(已提交读快照隔离)提升系统稳定性

开启MSSQL数据库的RCSI(已提交读快照隔离)提升系统稳定性

        MSSQL数据库普遍存在死锁问题,这无疑对应用发挥最佳性能产生不可估量的影响。当ServiceDesk采用SQL Server作为后台数据库,为了提升ServiceDesk Plus的稳定性与性能,我们需要开启数据库的已提交读快照隔离(RCSI),请参照以下步骤执行:

完成此过程可能需要一定时间,且需要停止相关应用、数据库的服务,建议安排在非业务时间进行。

1.  停止应用程序ServiceDesk Plus的服务

2.  登录到SQL server数据库

3.  执行下列语句使ServiceDesk Plus数据库离线:

USE master 

      ALTER DATABASE <db_name> SET OFFLINE WITH ROLLBACK IMMEDIATE

      4.  执行下列语句开启RCSI:

      ALTER DATABASE <db_name> SET READ_COMMITTED_SNAPSHOT ON WITH ROLLBACK IMMEDIATE

 

      5.  使用下列语句使数据库服务器联机:

USE master 

      ALTER DATABASE <db_name> SET ONLINE

6.  执行下列语句检查RCSI是否被成功开启:

SELECT is_read_committed_snapshot_on FROM sys.databases WHERE name=’<db_name>’

如果此查询的返回值是1,则说明您已经成功开启了RCSI

现在可以启动应用程序了。点击这里 here获取更多关于MSSQL数据库及RCSI的相关信息

 

开启MS SQL 快照模式的益处:

  • 极大的提升用户对数据库的查询性能,实现无延迟及中断(即使应用程序负载可能超出常规限制)。
  • 用户查询记录将会被保存在一个单独的临时数据库tempdb中,它不会受到其它用户的并发或继发查询的影响。
  • 数据表将会在业务处理完毕后再被加载。