SQL SERVERkilled/rollback 会话一直running

SQL SERVERkilled/rollback 会话一直running

问题描述

A使用linkserver连接B

一些用了Linkserver的SQL莫名其妙的执行很长时间(平时是很快的),

然后手动Kill掉后,

KILL 63

会话也一直处于killed/rollback running状态,

使用以下SQL查看,

KILL 63 WITH STATUSONLY;
SPID 63: transaction rollback in progress. Estimated rollback completion: 0%. Estimated time remaining: 0 seconds.

原因分析

1.在B上的会话被堵塞。(这种情况亲测)

2.由于网络或服务异常导致B上的会话结束或异常不能返回结果。

解决方法

1.这种僵尸会话,实例重启回消失。

2.使用TCPView关闭连接。

TCPView下载地址

https://docs.microsoft.com/zh-cn/sysinternals/downloads/tcpview

在A上打开TCPView,输入B的IP,搜索,

sqlserver与B建立的连接可能很多,所以要以create time区分。

找到该连接后,右键→close Connection,(注意是close Connection,不是Kill process,kill process 会将实例杀掉)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值