微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sqlserver 事务与锁定

转载地址:http://www.voidcn.com/article/p-oncuytta-bdr.html

 

Create Proc sp_us_lockinfo

---------------------------------------------------------------------

-- Author : HappyFlyStone

-- Date   : 2009-10-03 15:30:00

-- BLOG   : http://blog.csdn.net/happyflystone

-- 申明    :请保留作者信息,转载注明出处

---------------------------------------------------------------------

AS

BEGIN

    SELECT

        DB_NAME(t1.resource_database_id) AS [数据库名],

        t1.resource_type AS [资源类型],

    --    t1.request_type AS [请求类型],

        t1.request_status AS [请求状态],

    --    t1.resource_description AS [资源说明],

       CASE t1.request_owner_type WHEN 'TRANSACTION' THEN '事务所有'

                                WHEN 'CURSOR' THEN '游标所有'

                                WHEN 'SESSION' THEN '用户会话所有'

                                WHEN 'SHARED_TRANSACTION_WORKSPACE' THEN '事务工作区的共享所有'

                                WHEN 'EXCLUSIVE_TRANSACTION_WORKSPACE' THEN '事务工作区的独占所有'

                                ELSE ''

       END AS [拥有请求的实体类型],

       CASE WHEN T1.resource_type = 'OBJECT'

           THEN OBJECT_NAME(T1.resource_ASsociated_entity_id)

           ELSE  T1.resource_type+':'+ISNULL(LTRIM(T1.resource_ASsociated_entity_id),'')

           END AS [锁定的对象],

        t4.[name] AS [索引],

        t1.request_mode AS [锁定类型],

        t1.request_session_id AS [当前spid],    

        t2.blocking_session_id AS [锁定spid],

    --    t3.snapshot_isolation_state AS [快照隔离状态],

        t3.snapshot_isolation_state_desc AS [快照隔离状态描述],

        t3.is_read_committed_snapshot_on AS [已提交读快照隔离]

     

    FROM

        sys.dm_tran_locks AS t1

    left join

        sys.dm_os_waiting_tasks AS t2

    ON

        t1.lock_owner_address = t2.resource_address

    left join

        sys.databases AS t3

    ON t1.resource_database_id = t3.database_id

    left join

       (

        SELECT rsc_text,rsc_indid,rsc_objid,b.[name]

       FROM

           sys.syslockinfo a

       JOIN

           sys.indexes b

       ON a.rsc_indid = b.index_id and b.object_id = a.rsc_objid) t4

    ON t1.resource_description = t4.rsc_text

END

GO

/*

调用示例:exec sp_us_lockinfo

*/

exec sp_us_lockinfo

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐