欢迎来到天天文库
浏览记录
ID:9679051
大小:49.00 KB
页数:2页
时间:2018-05-05
《sql server死锁的分析--》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、SQLServer死锁的分析>> SQLServer数据库发生死锁时不会像ORACLE那样自动生成一个跟踪文件。有时可以在[管理]->[当前活动]里看到阻塞信息(有时SQLServer企业管理器会因为锁太多而没有响应). 设定跟踪1204:USEMASTERDBCCTRACEON(1204,-1) 显示当前启用的所有跟踪标记的状态:DBCCTRACESTATUS(-1) 取消跟踪1204:DBCCTRACEOFF(1204,-1) 在设定跟踪1204后,会在数据库的日志文件里显示SQLServer数据库死锁时一些信息。但那些信息
2、很难看懂,需要对照SQLServer联机丛书仔细来看。根据PAG锁要找到相关数据库表的方法:DBCCTRACEON(3604)DBCCPAGE(db_id,file_id,page_no)DBCCTRACEOFF(3604) 请参考sqlservercentral.上更详细的讲解.但又从CSDN学到了一个找到死锁原因的方法。我稍加修改,去掉了游标操作并增加了一些提示信息,写了一个系统存储过程sp_dbo.sysobjectsaggiefengyutom.// 日期:2004-04-30// 修改:从develop/Read_Article.a
3、sp?id=26566// 学习到并改写// 说明:查看数据库里阻塞和死锁情况********************************************************/usemastergocreateproceduresp_p_lock_allint,blsmallint)IFERROR<>0RETURNERRORinsertinto#tmp_lock_(select*fromsysprocesses(select*fromsysprocessessysprocesses#tmp_lock_essage--
4、循环开始#tmp_lock_p_lock_参数的含义,请看.sqlservercentral.文章 我们还可以设置锁的超时时间(单位是毫秒),来缩短死锁可能影响的时间范围: 例如:usemasterseelctlock_timeouts12下一页>>>>这篇文章来自..,。etlock_timeout900000--15分钟seelctlock_timeout上一页12>>>>这篇文章来自..,。
此文档下载收益归作者所有