Code Library
Home Submit Free Hosting Link To Us Contacts

SQL sp_lock2

SQL sp_lock2 SQL SQL sp_lock2 Download (.zip)



USE master
GO
CREATE procedure sp_lock2
@spid1 int = NULL,                /* server process id to check for locks */
@spid2 int = NULL                /* other process id to check for locks */
as

set nocount on
/*
** Show the locks for both parameters.
** Do not show locks in master, tempdb, model or msdb
*/
if @spid1 is not NULL
begin
        select         convert (smallint, req_spid) As spid,
                convert(char(20),db_name(rsc_dbid)) As [Database],
                rsc_objid As ObjId,
                rsc_indid As IndId,
                substring (v.name, 1, 4) As Type,
                substring (rsc_text, 1, 16) as Resource,
                substring (u.name, 1, 8) As Mode,
                substring (x.name, 1, 5) As Status

        from         master.dbo.syslockinfo,
                master.dbo.spt_values v,
                master.dbo.spt_values x,
                master.dbo.spt_values u

        where master.dbo.syslockinfo.rsc_type = v.number
                        and v.type = 'LR'
                        and master.dbo.syslockinfo.req_status = x.number
                        and x.type = 'LS'
                        and master.dbo.syslockinfo.req_mode + 1 = u.number
                        and u.type = 'L'
                        and rsc_dbid >=5
                        and req_spid in (@spid1, @spid2)
end

/*
** No parameters, so show all the locks.
*/
else
begin
        select         convert (smallint, req_spid) As spid,
                convert(char(20),db_name(rsc_dbid)) As [Database],
                rsc_objid As ObjId,
                rsc_indid As IndId,
                substring (v.name, 1, 4) As Type,
                substring (rsc_text, 1, 16) as Resource,
                substring (u.name, 1, 8) As Mode,
                substring (x.name, 1, 5) As Status

        from         master.dbo.syslockinfo,
                master.dbo.spt_values v,
                master.dbo.spt_values x,
                master.dbo.spt_values u

        where master.dbo.syslockinfo.rsc_type = v.number
                        and v.type = 'LR'
                        and master.dbo.syslockinfo.req_status = x.number
                        and x.type = 'LS'
                        and master.dbo.syslockinfo.req_mode + 1 = u.number
                        and u.type = 'L'
                        and rsc_dbid >=5
        order by spid
end

return (0) -- sp_lock2





  • SQLsp_lock2


SQL sp_lock2