zoukankan      html  css  js  c++  java
  • ms sql 中关于spid=2的问题

    今天在保存一张单据时,新增是成功的,查询出来删除报错,提示数据超时。追踪发现数据库这笔数据连在SQL中SELECT语句都会超时。用sp_lock查询时,发现该表被一个spid=-2的进程缩死。奇怪了。进程的ID不是只从 1 和 2048 之间的数字吗?所以我估计是可能是系统进程。后来在网上查了一下资料。 原来spid=-2是MS DTC的进程。因为我的web服务器同SQL服务器不同。所以我使用了ms dtc .现在dtc出错,导致该表的这笔数据被锁死。问题知道了。现在是该如何处理了。Kill -2是不行的。因为kill 只能删除 1 和 2048的进程ID号。晕了。最后在网上查了一下资料。 原来kill 不仅可以杀死进程ID外,还能杀 Work ID (UOW) of the DTC transaction。具体做法如下: 1:select req_transactionUOW,* from master..syslockinfo where req_spid =-2,复制 req_transactionUOW字段的值 2: kill 'D5499C66-E398-45CA-BF7E-DC9C194B48CF' 这样就可以了。 msdn 的相关信息请进入:http://msdn.microsoft.com/en-us/library/aa933230(SQL.80).aspx
  • 相关阅读:
    操作系统
    Typora
    C++
    linux sftp 和scp 运用
    python GIL锁与多cpu
    django model 高级进阶
    django template 模板
    django view 视图控制之数据返回的视图函数
    django 创建管理员用户
    jango 模型管理数据model入门
  • 原文地址:https://www.cnblogs.com/BinZeng/p/Bin.html
Copyright © 2011-2022 走看看