SQLserver数据库死锁处理(治标不治本的方法)
?1、/*--处理死锁 2、稍加改造就能变成自动杀进程的过程 ? ? CREATE ? PROCEDURE ? auto_checkblocks ? AS ? ? set ? nocount ? on ? ? if ? exists ? ( ? select ? * ? from ? master..sysprocesses ? where ? blocked ? <> ? 0 ? ) ? ? ? ? begin ? ? /* ? show ? top ? blockers,? but ? no ? duplicates ? */ ? ? ? ? select ? convert(char(24),getdate(),13) ? ? select ? '注意发生阻塞!请不要慌张,请仔细查看下面的信息。导致问题的锁进程:' ? ? select ? '请尝试使用KILL ? [SPID] ? 来杀进程' ? ? ? ? ? ? ? ? ? ? select ? '请尝试使用SP_LOCK ? [SPID]来显示锁信息,用OBJECT_NAME(ID)来显示锁对象名称或用sp_who ? [SPID] ? 来显示信息' ? ? ? ? ? ? ? ? ? ? select ? '在使用OBJECT_NAME显示对象名称时请注意对应的db_id' ? ? ? ? ? ? select ? distinct ? ? '进程ID' ? ? ? ? ? ? ? ? ? ? ? ? ? ? = ? str( ? spid,? 4 ? ),? ? '进程ID状态' ? ? ? ? ? ? ? ? ? ? = ? convert( ? char(10),? status ? ),? ? '分块进程的进程ID' ? ? ? ? = ? str( ? blocked,? 2 ? ),? ? '工作站名称' ? ? ? ? ? ? ? ? ? ? = ? convert( ? char(10),? hostname ? ),? ? '执行命令的用户' ? ? ? ? ? ? = ? convert( ? char(10),? suser_name( ? uid ? ) ? ),? ? '数据库名' ? ? ? ? ? ? ? ? ? ? ? ? = ? convert( ? char(10),? db_name( ? dbid ? ) ? ),? ? ? ? ? ? ? ? ? '应用程序名' ? ? ? ? ? ? ? ? ? ? = ? convert( ? char(10),? program_name ? ),? ? '正在执行的命令' ? ? ? ? ? ? = ? convert( ? char(16),? cmd ? ),? ? '累计CPU时间' ? ? ? ? ? ? ? ? ? = ? str( ? cpu,? 7 ? ),? ? 'IO' ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? = ? str( ? physical_io,? ? ? ? ? ? ? ? ? ? '登录名' ? ? ? ? ? ? ? ? ? ? ? ? ? ? = ? loginame ? ? from ? master..sysprocesses ? ? where ? spid ? in ? ( ? select ? blocked ? from ? master..sysprocesses ? ) ? ? and ? blocked ? = ? 0 ? ? order ? by ? str(spid,4) ? ? ? ? /* ? 显示阻塞牺牲品 ? */ ? ? ? ? ? ? ? ? ? ? select ? '以上阻塞的牺牲品' ? ? ? ? ? ? ? ? ? ? ? select ? ? ? '进程ID[SPID]' ? ? ? ? ? ? ? ? = ? str( ? spid,? ? ? ? ? ? ? ? ? ? '登录名' ? ? ? ? ? ? ? ? ? ? ? ? ? ? = ? loginame ? ? from ? master..sysprocesses ? ? where ? blocked ? <> ? 0 ? ? order ? by ? spid ? ? end ? ? ? ? else ? ? begin ? ? select ? '恭喜!当前没有阻塞,当前的进程信息如下.',? convert ? (char(24),13) ? ? ? ? ? ? ? ? ? ? select ? ? ? '进程ID' ? ? ? ? ? ? ? ? ? ? ? ? ? ? = ? str( ? spid,? ? ? ? ? ? ? ? ? ? '登录名' ? ? ? ? ? ? ? ? ? ? ? ? ? ? = ? loginame ? ? from ? master..sysprocesses ? ? where ? blocked ? = ? 0 ? ? order ? by ? spid ? ? end ? ? ? ? return ? ? GO???? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- SQLServerToSQLite 程序代码的分析翻译及学习(一、SQLServe
- 关sqlserver sql 命令的常见操作,特收录一个地址
- entity-framework – 实体框架6:如何覆盖SQL生成器?
- 我可以在SQL Server Compact Edition中使用ASP.NET成员资格
- mssql sqlserver 批量删除所有存储过程的方法分享
- Docker mysql 主从配置详解及实例
- sql-server – SQL Server 2008R2的最佳驱动器配置
- sql – 实体框架和CROSS / OUTER APPLY
- SQLserver 表名、列名、列中文名、列类型、长度等
- sqlserver存储过程