查询数据库后台Block 的Sql存储过程
查询数据库后台Block 的Sql存储过程
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO /*记录SQL Server的阻塞情况 wang 2008.8.11 (@P1 nvarchar(8),@P2 nvarchar(42),@P3 int,@P4 nvarchar(42),@P5 int,@P6 int,@P7 nvarchar(8),@P8 int)
SELECT TOP 1 A.ITEMID,A.STATUSISSUE,A.INTERCOMPANYINVENTDIMTRANSFER3,A.DATEPHYSICAL,A.QTY,A.COSTAMOUNTPOSTED,A.CURRENCYCODE,A.TRANSTYPE,A.TRANSREFID,A.INVOICEID,A.VOUCHER,A.DATEEXPECTED,A.DATEFINANCIAL,A.COSTAMOUNTPHYSICAL,A.INVENTTRANSID,A.STATUSRECEIPT,A.PACKINGSLIPRETURNED,A.INVOICERETURNED,A.PACKINGSLIPID,A.VOUCHERPHYSICAL,A.COSTAMOUNTADJUSTMENT,A.SHIPPINGDATEREQUESTED,A.SHIPPINGDATECONFIRMED,A.QTYSETTLED,A.COSTAMOUNTSETTLED,A.VALUEOPEN,A.DIRECTION,A.DATESTATUS,A.COSTAMOUNTSTD,A.DATECLOSED,A.INVENTTRANSIDFATHER,A.COSTAMOUNTOPERATIONS,A.ITEMROUTEID,A.ITEMBOMID,A.INVENTTRANSIDRETURN,A.INVENTDIMID,A.INVENTDIMFIXED,A.DATEINVENT,A.CUSTVENDAC,A.TRANSCHILDREFID,A.TRANSCHILDTYPE,A.TIMEEXPECTED,A.REVENUEAMOUNTPHYSICAL,A.ASSETID,A.TAXAMOUNTPHYSICAL,A.ASSETBOOKID,A.INVENTREFTRANSID,A.MODIFIEDDATE,A.MODIFIEDTIME,A.MODIFIEDBY,A.CREATEDDATE,A.CREATEDTIME,A.CREATEDBY,A.RECVERSION,A.RECID
FROM INVENTTRANS A
WHERE ((A.DATAAREAID=@P1) AND ((((A.ITEMID=@P2) AND (A.TRANSTYPE=@P3)) AND (A.TRANSREFID=@P4))
AND ((A.STATUSRECEIPT=@P5) OR (A.STATUSRECEIPT=@P6))))
AND EXISTS (SELECT TOP 1 'x' FROM INVENTDIM B,INVENTLOCATION C WHERE (B.INVENTDIMID=A.INVENTDIMID) AND ((C.DATAAREAID=@P7) AND ((C.INVENTLOCATIONID=B.INVENTLOCATIONID) AND (C.INVENTLOCATIONTYPE=@P8))))
--kill 282
2008.9.6修改,将Blocked的数据另外增加新行保存,Blocked_xxx这些字段废弃 exec axreport.[dbo].[UP_Log_ServerBlocked] 1,1
-- kill 394
exec [dbo].[UP_Log_ServerSQL] 'AXlivep1' select top 10 object_Name(rsc_objid),* from sys.syslockinfo where req_spid='89' select * from sys (@P1 ntext,@P2 ntext,@P3 ntext,@P4 ntext,@P5 ntext,@P6 nvarchar(42),@P7 nvarchar(122),@P8 nvarchar(22),@P9 int,@P10 int,@P11 int,@P12 int,@P13 int,@P14 datetime,@P15 numeric(28,12),@P16 numeric(28,12),@P17 datetime,@P18 datetime,@P19 datetime,@P20 datetime,@P21 datetime,@P22 numeric(28,12),@P23 numeric(28,12),@P24 numeric(28,12),@P25 numeric(28,12),@P26 numeric(28,12),@P27 datetime,@P28 int,@P29 int,@P30 nvarchar(42),@P31 nvarchar(22),@P32 nvarchar(22),@P33 nvarchar(22),@P34 nvarchar(22),@P35 nvarchar(22),@P36 nvarchar(22),@P37 nvarchar(22),@P38 nvarchar(22),@P39 int,@P40 nvarchar(42),@P41 nvarchar(42),@P42 int,@P43 nvarchar(42),@P44 datetime,@P45 int,@P46 nvarchar(22),@P47 int,@P48 datetime,@P49 int,@P50 int,@P51 nvarchar(22),@P52 numeric(28,12),@P53 nvarchar(42),@P54 nvarchar(42),@P55 nvarchar(22),@P56 nvarchar(42),@P57 int,@P58 int,@P59 datetime,@P60 nvarchar(42),@P61 nvarchar(42),@P62 int,@P63 int,@P64 int,@P65 int,@P66 nvarchar(42),@P67 int,@P68 nvarchar(32),@P69 int,@P70 nvarchar(42),@P71 int,@P72 numeric(28,12),@P73 int,@P74 datetime,@P75 nvarchar(50),@P76 datetime,@P77 int,@P78 datetime,@P79 datetime,@P80 numeric(28,12),@P81 numeric(28,12),@P82 numeric(28,12),@P83 numeric(28,12),@P84 nvarchar(26),@P85 numeric(28,12),@P86 numeric(28,12),@P87 nvarchar(22),@P88 numeric(28,12),@P89 numeric(28,12),@P90 numeric(28,12),@P91 numeric(28,12),@P92 numeric(28,12),@P93 numeric(28,12),@P94 numeric(28,12),@P95 nvarchar(42),@P96 int,@P97 int,@P98 datetime,@P99 datetime,@P100 int,@P101 numeric(28,12),@P102 numeric(28,12),@P103 int,@P104 datetime,@P105 int,@P106 int,@P107 nvarchar(26),@P108 datetime,@P109 int,@P110 int,@P111 int,@P112 datetime,@P113 int,@P114 int,@P115 nvarchar(42),@P116 numeric(28,12),@P117 nvarchar(22),@P118 nvarchar(22),@P119 nvarchar(22),@P120 datetime,@P121 int,@P122 int,@P123 int,@P124 int,@P125 numeric(28,12),@P126 numeric(28,12),@P127 int,@P128 nvarchar(512),@P129 datetime,@P130 int,@P131 nvarchar(12),@P132 datetime,@P133 int,@P134 nvarchar(12),@P135 nvarchar(8),@P136 int,@P137 bigint)
INSERT INTO PRODTABLE (SML_REMARK,SML_PRODSTOPPEDREMARK,SML_PRODBOMREMARK,SML_PRODDELAYREMARK,SML_VENDREMARKS,ITEMID,NAME,PRODGROUPID,PRODSTATUS,PRODPRIO,PRODLOCKED,PRODTYPE,SCHEDSTATUS,SCHEDDATE,QTYSCHED,QTYSTUP,DLVDATE,STUPDATE,FINISHEDDATE,SCHEDSTART,SCHEDEND,HEIGHT,WIDTH,DEPTH,DENSITY,QTYCALC,REALDATE,RESERVATION,PRODPOSTINGTYPE,INVENTTRANSID,DIMENSION,DIMENSION2_,DIMENSION3_,DIMENSION4_,DIMENSION5_,DIMENSION6_,DIMENSION7_,DIMENSION8_,INVENTREFTYPE,INVENTREFID,INVENTREFTRANSID,COLLECTREFLEVEL,COLLECTREFPRODID,BOMDATE,BACKORDERSTATUS,PRODPOOLID,PROFITSET,CALCDATE,ROUTEJOBS,CHECKROUTE,PROPERTYID,REMAININVENTPHYSICAL,BOMID,ROUTEID,REQPLANIDSCHED,REQPOID,REFLOOKUP,LATESTSCHEDDIRECTION,LATESTSCHEDDATE,PRODID,INVENTDIMID,SCHEDTOTIME,SCHEDFROMTIME,LATESTSCHEDTIME,DLVTIME,PRODORIGID,GANTTCOLORID,PACKAGEQTY,SML_PRODSTOPPED,SML_REFREPLACEPRODID,SML_PRODTABLESTATUSTRACK,SML_PRODTOLERANCE,SML_PRODBOMAPPROVED,SML_ORIGDLVDATE,SML_PRODBOMAPPROVER,SML_PRODBOMAPPROVALDATE,SML_PRODBOMAPPROVALTIME,SML_PRODDLVDATE,SML_PRODURGENTORDERDATE,SML_PRODURGENTORDERQTY,SML_PLATEPCSROW,SML_PLATEPCSCOL,SML_PLATEPCSADD,SML_PATTNO,SML_LROWS_SS,SML_RIBBONS,SML_PRODDEMAND,SML_PLATESIZEWIDTH,SML_PLATESIZEHEIGHT,SML_PRODTOTALHRS,SML_PRODPLATECALCPRODQTY,SML_PRODPLATECALCPRINTRUN,SML_PRODPLATECALCPLATECNT,SML_PRODPLATECALCNOOFCOPIES,SML_REFREPLACEPARENTPRODID,SML_PRODPLATECALCULATED,SML_PNUM,SML_PRODOUTSOURCINGREPLYDATE,SML_URGENTORDERAPPROVALDATE,SML_TRADEMODE,SML_PRODPLATECALCPRINTRUNSCRAP,SML_PRODPLATECALCPRINTRUN30042,SML_TOELABEL,SML_ORDERCREATEDDATE,SML_PRODLEDTY,SML_PRODURGENTORDERTYPE,SML_PATTCODE,SML_REFFINISHEDDATE,SML_COUNTED,SML_INCLEPLATFORMPDF,SML_ISURGENTORDER,SML_MAINDLVDATE,SML_ISREPLACEPRODORDER,SML_ISPRODSYSRAF,SML_VENDACCOUNT,SML_OVERRAFQTY,SML_PRODMETHODID,SML_CLASSNO,WRKCTRID,SML_MAINFINISHEDDATE,SML_MAINFINISHEDTIME,SML_PPCTRL_TEST,SML_PPCTRL_QC,SML_PPCTRL_PROCESS,SML_OILCONTENT,SML_WEIGHTOFBOBBIN,SML_RETENTIONGOODSLEVEL,SML_PACKINGREMARKS,MO */
ALTER Proc [dbo].[UP_Log_ServerBlocked]
@LogSelfBlocked bit=0 ,
@ShowOnly bit =0,
@All bit =0
as
set Nocount on
Declare @Log_Date datetime,@Count int
set @Log_Date=GetDate()
select spid,Blocked=(Case when spid=Blocked then 0 Else Blocked end),
db_name(dbid) as DBName,hostname,Loginame,
program_name,Convert(nvarchar(4000),'') as Spid_SQL ,
Convert(nvarchar(4000),'') as LockedObject ,
--Convert(nvarchar(4000),'') as Blocked_SQL,
--Convert(nvarchar(256),'') as Blocked_Loginame,Convert(nvarchar(256),'') as Blocked_hostname,
--Convert(nvarchar(256),'') as Blocked_program_name,
Waittime,cpu,physical_io,
memusage,login_time,last_batch,open_tran,status,waittype,waitresource,Dbid,cmd
into #Temp_ServerBlocked
from sys.sysprocesses with(nolock)
where @All=1 or spid in
(select spid from sys.sysprocesses with(nolock)
where blocked>0
union
select blocked from sys.sysprocesses with(nolock)
where blocked>0
) If @LogSelfBlocked=0
Delete from #Temp_ServerBlocked where Blocked=0 and spid not in (select blocked from #Temp_ServerBlocked)
Select @Count=count(1) from #Temp_ServerBlocked
If @Count >0 Begin
Declare @spid int,@Blocked int,@Spid_SQL nvarchar(4000),@LockedObject nvarchar(4000)
--,@Blocked_SQL nvarchar(4000),@Blocked_Loginame nvarchar(128),
--@Blocked_hostname nvarchar(128),@Blocked_program_name nvarchar(128)
declare ccc cursor local fast_forward for
select distinct spid,blocked from #Temp_ServerBlocked
open ccc
fetch ccc into @spid,@blocked
while @@fetch_status=0 begin
--user SQL
--select @Blocked_Loginame='',@Blocked_hostname='',@Blocked_program_name='' --select @Blocked_Loginame=Loginame,@Blocked_hostname=hostname,@Blocked_program_name=program_name
-- from master..sysprocesses with(nolock) where Spid=@blocked --set @Blocked_SQL=''
Exec dbo.UP_GetSPID_SQL @spid, @Spid_SQL output,@LockedObject output --If (@spid<>@Blocked) and @Blocked<>0
-- Exec dbo.UP_GetSPID_SQL @Blocked, @Blocked_SQL output Update #Temp_ServerBlocked set Spid_SQL=@Spid_SQL
,LockedObject=@LockedObject
--, Blocked_SQL=@Blocked_SQL,Blocked_Loginame=@Blocked_Loginame,
-- Blocked_hostname=@Blocked_hostname,Blocked_program_name=@Blocked_program_name
where spid=@spid and blocked=@blocked fetch ccc into @spid,@blocked
end
Close ccc
Deallocate ccc
select * from #Temp_ServerBlocked
Drop table #Temp_ServerBlocked
End
查询到后用kill spId eg: kill 992, 就可以清除block.
查询数据库后台Block 的Sql存储过程的更多相关文章
- 查询数据库中表或视图或存储过程的数量 sql 语句
如果一个数据库中表的数量较多的话,那么在统计数据库中表的数量或视图或存储过程的数量时,如果还有一个一个去数,那就太麻烦了,其实可以通过 sql 语句来查询的,sql 语句的查询方法如下: sql se ...
- Sql Server系列:SQL语句查询数据库中表、视图、存储过程等组成
1. 查看用户表 select name from sys.tables select name from sys.objects where type='U' select name from sy ...
- SQL Server查询数据库近期执行的SQL语句
SELECT TOP 1000 ST.text AS '执行的SQL语句', QS.execution_count AS '执行次数', QS.total_ela ...
- [ python ] 查询数据库生成Excel并发送邮件
开发要求: 由于管理后台导出数据非常缓慢,找程序员解决无果后,自己动手写了一个脚本,每天定时将报表发送给业务部门. 1. 通过条件查询MySQL获取数据 2. 将获取的数据写入到Excel ...
- SQL Server中查询数据库及表的信息语句
/* -- 本文件主要是汇总了 Microsoft SQL Server 中有关数据库与表的相关信息查询语句. -- 下面的查询语句中一般给出两种查询方法, -- A方法访问系统表,适应于SQL 20 ...
- SQL查询数据库是否存在
在实际工作中会遇到通过SQL查询数据库是否存在的情况,下面一些语句可以提供一些帮助,本文的语句是在SQL08R2中测试的 1,查询当前数据库服务器所有数据库 select * From master ...
- MySQL数据库优化技术之SQL语句慢查询定位
通过show status命令了解各种SQL的执行频率 MySQL客户端连接成功后,通过使用show [session|global] status 命令可以提供服务器状态信息: 其中的session ...
- 《万能数据库查询分析器》实现使用SQL语句直接高效地访问文本文件
<万能数据库查询分析器>实现使用SQL语句直接高效地访问文本文件 马根峰 (广东联合电子服务股份有限公司, 广州 510300) 摘要 用SQL语句来直接访问文本文件?是在做梦吗? ...
- mysql / pgsql 使用sql语句查询数据库所有表注释已经表字段注释
mysql使用sql语句查询数据库所有表注释已经表字段注释(转载) 场景: 1. 要查询数据库 "mammothcode" 下所有表名以及表注释 /* 查询数据库 ‘mammo ...
随机推荐
- ASP.NET 中的 authentication(验证)与authorization(授权)
这两个东西很绕口,也绕脑袋. 一般来说,了解authentication(验证)的用法即可,用于自定义的用户验证. authorization(授权)主要通过计算机信息来控制. “*”:所有用户: “ ...
- GL_GL系列 - 总账系统基础(概念)
2014-07-07 Created By BaoXinjian
- Python 结巴分词(1)分词
利用结巴分词来进行词频的统计,并输出到文件中. 结巴分词github地址:结巴分词 结巴分词的特点: 支持三种分词模式: 精确模式,试图将句子最精确地切开,适合文本分析: 全模式,把句子中所有的可以成 ...
- [实变函数]3.1 外测度 (outer measure)
1 并不是所有的集合都可求测度. 我们的想法是先对 $\bbR^n$ 中的任一集合定义一个``外 测度'' (outer measure), 然后再加上适当的条件 (Caratheodory 条件), ...
- 第十章 Vim程序编辑器学习(下)
在试用vim编辑时,vim会在于被编辑的档案的目录下,再建立一个名为****.swp的档案,如果你的系统因为某些原因断线,你编辑的档案还没有存储,这个时候的****.swp就能够挥发救援的功能 1.在 ...
- [SQL]循环插入数据,并且计算插入所用时间
--得出以上速度的方法是:在各个select语句前加: declare @d datetime set @d=getdate() select * from tb --并在select语句后加: se ...
- 查看用户的SQL执行历史
程序开发少不来SQL,基本都是基于SQL开发,程序仅仅起一个流程控制的作用.但是数据库本身存在许多内置的视图或者内置的表,如果打算研究SQL执行的效率已经SQL执行的历史记录,通过这些视图可以知道. ...
- Linux平台块设备到字符设备(裸设备)的三种映射方式(转载)
在Linux平台oracle rac的组建过程中,如果使用ASM+RAW的存储方式的话,由于asm不支持块设备,支持持字符访问设备,所以需要配置将Block Device Drive转变成Charac ...
- OC基础(6)
getter/setter方法 点语法 Self关键字 Super关键字 *:first-child { margin-top: 0 !important; } body > *:last-ch ...
- 在解决方案中所使用 NuGet 管理软件包依赖
使用程序包恢复功能可以在提交源代码时, 不需要将代码库提交到源代码管理中,大幅减少项目的尺寸.所有NuGet程序包都存储在解决方案的Packages文件夹中. 要启用程序包恢复功能,可右键单击解决方案 ...