use master
go
IF OBJECTPROPERTY(OBJECT_ID('dbo.sp_blockinglocks'), 'IsProcedure') = 1
BEGIN
    DROP PROCEDURE dbo.sp_blockinglocks
    IF OBJECTPROPERTY(OBJECT_ID('dbo.sp_blockinglocks'), 'IsProcedure') = 1
        PRINT '<<< FAILED DROPPING PROCEDURE dbo.sp_blockinglocks >>>'
    ELSE
        PRINT '<<< DROPPED PROCEDURE dbo.sp_blockinglocks >>>'
END
go
create procedure sp_blockinglocks --- 1999/01/18 00:00

as
        select  DISTINCT convert (smallint, l1.req_spid) As spid, 
                left(db_name(l1.rsc_dbid), 10) As dbName, 
                left(object_name(l1.rsc_objid), 20) AS ObjName,
                l1.rsc_indid As IndId,
                substring (v.name, 1, 4) As Type,
                substring (l1.rsc_text, 1, 16) as Resource,
                substring (u.name, 1, 8) As Mode,
                substring (x.name, 1, 5) As Status

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

        where          l1.rsc_type = v.number
                        and v.type = 'LR'
                        and l1.req_status = x.number
                        and x.type = 'LS'
                        and l1.req_mode + 1 = u.number
                        and u.type = 'L'
                        and l1.rsc_type <>2 /* not a DB lock */
                        and l1.rsc_dbid = l2.rsc_dbid
                        and l1.rsc_bin = l2.rsc_bin
                        and l1.rsc_objid = l2.rsc_objid 
                        and l1.rsc_indid = l2.rsc_indid 
                        and l1.req_spid <> l2.req_spid
                        and l1.req_status <> l2.req_status
        order by substring (l1.rsc_text, 1, 16), substring (x.name, 1, 5) 


return (0)
go
IF OBJECTPROPERTY(OBJECT_ID('dbo.sp_blockinglocks'), 'IsProcedure') = 1
BEGIN
    GRANT EXECUTE ON dbo.sp_blockinglocks To Public
    PRINT '<<< CREATED PROCEDURE dbo.sp_blockinglocks >>>'
END
ELSE
    PRINT '<<< FAILED CREATING PROCEDURE dbo.sp_blockinglocks >>>'
go
This page was last updated on May 01, 2006 04:28 PM.