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中,它不会受到其它用户的并发或继发查询的影响。
- 数据表将会在业务处理完毕后再被加载。