`
xiaolan02
  • 浏览: 60016 次
社区版块
存档分类
最新评论

死锁了,及解锁

阅读更多
use  master
go
create  proc  killspid  (@dbname  varchar(20)) 
as 
begin 
declare  @sql  nvarchar(500),@temp varchar(1000)
declare  @spid  int 
set  @sql='declare  getspid  cursor  for   
select  spid  from  sysprocesses  where  dbid=db_id('''+@dbname+''')' 
exec  (@sql) 
open  getspid 
fetch  next  from  getspid  into  @spid 
while  @@fetch_status<>-1 
begin 
  set @temp='kill  '+rtrim(@spid)
  exec(@temp)
fetch  next  from  getspid  into  @spid 
end 
close  getspid 
deallocate  getspid 
end 

--用法 
use  master 
exec  killspid  '数据库名'



死锁可以查一下:
1:sp_who 或 sp_who2
2: Select * from sysprocesses where blocked <> 0
3: 企业管理器->服务器->管理工具->活动->当前活动 然后把他kill掉。。。
4:SQL事件探查器,监控一下,看主要是那些处理引起的死锁.然后做相应的处理.
用事件探查器new一个trace,监视一下造成你sqlserver停顿的情况。。。

最好的办法还是检查一下引起锁的原因,一般是由你的代码引起的。


SQL事件探查器用法
开始--程序--MS SQLSERVER
        --事件探察器(SQL Profiler)
        --文件
        --新建
        --设置跟踪的项目...
        --然后数据库的调用情况就会显示出

--查看锁信息
select 进程id=req_spid
        ,数据库=db_name(rsc_dbid)
        ,类型=case rsc_type when 1 then 'NULL 资源(未使用)'
                when 2 then '数据库'
                when 3 then '文件'
                when 4 then '索引'
                when 5 then '表'
                when 6 then '页'
                when 7 then '键'
                when 8 then '扩展盘区'
                when 9 then 'RID(行 ID)'
                when 10 then '应用程序'
        end
        ,rsc_objid,rsc_indid
from master..syslockinfo
分享到:
评论

相关推荐

    查询Oracle是否有死锁及解锁

    执行查询语句查询Oracle是否有死锁,以及叫你如何解锁。

    Oracle表死锁与解锁

    Oracle数据库在运行过程中,可能会遇到一种情况,那就是“表死锁”,这会导致多个事务相互等待对方释放资源,从而无法继续执行。死锁不仅影响数据库的正常运行,还可能导致数据一致性问题。本文将深入探讨Oracle表...

    informix查看死锁与解锁

    informix锁查看和解锁,可以借鉴一下,有参考意义,还不错

    查询ORACLE死锁以及解锁语句

    查询ORACLE死锁以及解锁语句查询ORACLE死锁以及解锁语句

    oracle解锁,死锁

    ### Oracle解锁与死锁解析 #### 一、Oracle解锁与死锁概述 在Oracle数据库管理过程中,解锁与处理死锁是常见的操作需求之一。当多个事务请求对同一资源进行访问时,可能会出现等待的情况,即一个事务正在等待另一...

    Oracle 查询死锁并解锁的终极处理方法

    本文将详细介绍如何在Oracle中查询死锁,以及如何有效地解锁和处理这类问题。 1. **查询死锁** 要确定Oracle中的死锁,可以使用`V$LOCKED_OBJECT`视图来查看当前被锁定的对象。通过以下SQL查询,我们可以得到被...

    原创SQL SERVER 解锁工具

    SQL SERVER 有资源紧张时,常会有死锁发生,用此工具可进行解锁操作。

    数据库死锁-解决死锁问题的三种办法

    这种机制简化了解锁过程,从用户角度来看,系统似乎不存在解锁的问题。 总之,解决数据库死锁问题的三种方法各有优缺点,实际应用中应根据具体情况和需求选择最适合的策略。预防死锁虽能有效避免死锁的发生,但可能...

    sqlserver如何快速查询死锁语句

    这种方法的优点在于,它可以精确地结束导致死锁的语句,而不会影响其他正常事务,避免了全局解锁可能引发的数据混乱。然而,需要注意的是,`KILL`命令应当谨慎使用,因为它可能导致未完成的事务丢失,因此在生产环境...

    SQL Server死锁总结

    ### SQL Server死锁总结 #### 一、死锁原理 死锁是计算机系统中常见的问题之一,特别是在数据库...了解锁的兼容性对于防止死锁非常重要。通过对锁的兼容性进行合理的设计和管理,可以在很大程度上减少死锁的发生。

    ORA-00060: 等待资源时检测到死锁--oracle 数据库表死锁异常

    4. 提前解锁:在事务不需要使用某些资源后立即释放锁,减少其他事务等待时间。 最后,为了避免死锁的发生,开发人员和数据库管理员应进行充分的性能监控和调优,理解事务的执行路径,合理规划资源的获取顺序,并...

    Mysql查看死锁与解除死锁的深入讲解

    前段时间遇到了一个Mysql 死锁相关的问题,整理一下。 问题描述:Mysql 的修改语句似乎都没有生效,同时使用Mysql GUI 工具编辑字段的值时会弹出异常。 什么是死锁 在解决Mysql 死锁的问题之前,还是先来了解一下...

    orcal解锁杀死死锁进程

    orcal解锁杀死死锁进程导出表中的数据到Excel,包含字段名,文件为真正的Excel文件 ,如果文件不存在,将自动创建文件 ,如果表不存在,将自动创建表 基于通用性考虑,仅支持导出标准数据类型

    ORcle解死锁

    本文将深入探讨Oracle数据库中的死锁现象,包括如何查询死锁、分析死锁原因以及如何解锁死锁,确保数据库的正常运行。 ### 一、Oracle死锁查询 当怀疑Oracle数据库中存在死锁时,可以使用以下SQL查询来检查哪些...

    sqlserver死锁查询

    用于sqlserver优化使用,可定位死锁,并查询死锁语句。

    sqlite死锁datebaselock解决方案

    4. **死锁检测与恢复**:SQLite内建了死锁检测机制,当检测到死锁时,会回滚其中一个事务以解除死锁。但也可以在应用程序层面主动检测和处理死锁。 5. **使用WAL模式**:Write-Ahead Logging(预写日志)模式能有效...

    Oracle 死锁问题的排查语句

    在出现死锁的情况下,可以通过人工解锁来解决问题。解锁步骤包括: 1)查找死锁的对象: select object_name, machine,s.COMMAND, s.sid, s.serial#,s.LOCKWAIT from v$locked_object l, dba_objects o, v$...

Global site tag (gtag.js) - Google Analytics