sqlserver 数据库死锁后多长时间解锁
答案:2 悬赏:0 手机版
解决时间 2021-03-08 10:25
- 提问者网友:佞臣
- 2021-03-07 17:29
sqlserver 数据库死锁后多长时间解锁
最佳答案
- 五星知识达人网友:大漠
- 2021-03-07 18:15
您好:
SQL SERVER 通过锁管理器自动发现和解决死锁。在 SQL SERVER 中 Lock Monitor 管理线程(spid=4)每 5 秒钟检查一次系统中是否存在死锁,同时也会使用死锁发现计数器(Deadlock Detection Counter)控制检查死锁的频率。
死锁发现计数器初始值为 3,当发现死锁时被重新设置为 3,当没有发现死锁时此值减 1。如果死锁发现计数器大于 0,则在每次有进程获取锁被阻止时,锁管理器都要求 Lock Monitor 线程检查死锁;而如果计数器等于 0,则在每次有进程获取锁被阻止时,锁管理器不会要求 Lock Monitor 线程检查死锁,只是每 5 秒钟检查一次。
Lock Monitor 线程通过检查锁的等待列表发现保持锁的进程和等待锁的进程间的关系,从而发现死锁。
SQL SERVER 通过锁管理器自动发现和解决死锁。在 SQL SERVER 中 Lock Monitor 管理线程(spid=4)每 5 秒钟检查一次系统中是否存在死锁,同时也会使用死锁发现计数器(Deadlock Detection Counter)控制检查死锁的频率。
死锁发现计数器初始值为 3,当发现死锁时被重新设置为 3,当没有发现死锁时此值减 1。如果死锁发现计数器大于 0,则在每次有进程获取锁被阻止时,锁管理器都要求 Lock Monitor 线程检查死锁;而如果计数器等于 0,则在每次有进程获取锁被阻止时,锁管理器不会要求 Lock Monitor 线程检查死锁,只是每 5 秒钟检查一次。
Lock Monitor 线程通过检查锁的等待列表发现保持锁的进程和等待锁的进程间的关系,从而发现死锁。
全部回答
- 1楼网友:第四晚心情
- 2021-03-07 19:52
1、用收缩文件的方式最好,如果收缩日志文件,先做一次日志备份,最好的方法是先做完备再做日志。
2、如果收缩数据文件,建议先100m每次地收缩,过3、5次之后,再加到500m一次,再过3、5次再升到1g一次,后面就不要再加了,收缩很费资源,不要一次行收缩和在繁忙时收缩。没有官方文档支持,但是按照个人经历,好像sqlserver有一个适应期,要先从小规模收缩几次,才“适应”,然后再慢慢加,另外不要收缩到很小,因为一旦有新数据或者数据改动,又会涨起来,到时候压力更大。
3、文件的增长规模,按照120g程度,建议每次增长500m,不要用百分比了
若你的数据库不能停机也不好搞啊。
收缩数据库都需要将数据库转换成 简单恢复模式。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯