1、首先点击桌面上的SQL server数据库。
2、然后打开SQL server数据库,输入登录名,密码,点击连接。
3、接着点击左上角新建查询,选择master数据库。
4、先查看数据库被锁的表。
5、接着输入解锁进程,然后执行就可以进行数据库解锁了。
先定位一下是哪个程序句柄导致的死锁。方法一、查看db2diag.log文件
找到DeadLock or Lock timeout 死锁或锁超时信息
db2 force application(句柄ID)
直接结束进程即可。
方法二、DB2快照信息
1、看一下DB2快照信息
db2 get snapshot for locks on sample
可以得到类似信息:
数据库锁定快照
数据库名称 = SAMPLE
数据库路径= D:\IBM\DB2\NODE0000\SQL00001\
输入数据库别名= SAMPLE
挂起的锁定= 8
当前已连接的应用程序= 2
当前正等待锁定的代理程序数= 1
应用程序句柄= 54
应用程序标识= *LOCAL.DB2.140304192925
序号= 00001
应用程序名= db2bp.exe CONNECT
授权标识= DB2ADMIN
应用程序状态= 锁定等待
应用程序代码页= 1208
挂起的锁定= 4
总计等待时间(毫秒)= 247867
锁定列表
锁定名称 = 0x5359534C564C3031DDECEF2841
锁定属性 = 0x00000000
发行版标志 = 0x40000000
锁定计数 = 1
挂起计数= 0
锁定对象名= 2312
对象类型= 行
表空间名= IBMDB2SAMPLEREL
表模式= DB2ADMIN
表名= TEST
方式= IX
查看锁定的详细信息:db2 get snapshot for locks for application agentid 1728
----(1728是句柄ID)
3、观察命令db2 list applications的输出
查看应用程序的状态是否有锁定等待(Lock-wait)状态出现。
执行命令 list applications for db sample show detail
4、db2 force application(句柄ID)
直接结束进程即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)