• Sql server锁机制


    如何查看锁

    了解SQL Server在某一时间点上的加锁情况无疑是学习锁和诊断数据库死锁和性能的有效手段。我们最常用的查看数据库锁的手段不外乎两种:

    使用sys.dm_tran_locks这个DMV

    SQL Server提供了sys.dm_tran_locks这个DMV来查看当前数据库中的锁,前面的图2就是通过这个DMV来查看的.

    这里值得注意的是sys.dm_tran_locks这个DMV看到的是在查询时间点的数据库锁的情况,并不包含任何历史锁的记录。可以理解为数据库在查询时间点加锁情况的快照。sys.dm_tran_locks所包含的信息分为两类,以resource为开头的描述锁所在的资源的信息,另一类以request开头的信息描述申请的锁本身的信息。

    select
    str(request_session_id,4,0) as spid,
    convert(varchar(20),db_name(resource_database_id)) as DB_Name,
    case when resource_data_id = db_id() and resource_type='OBJECT'
    then convert(char(20),object_name(resource_Associated_Entity_id))
    else convert(char(20),resource_Associated_Entity_id)
    end as object,
    convert(varchar(12),resource_type) as resrc_type,
    convert(varchar(12),request_type) as req_type,
    convert(char(3),request_mode) as mode,
    convert(varchar(8),request_status) as status
    from sys.dm_tran_locks
    order by request_session_id desc

  • 相关阅读:
    SqlServer:创建索引
    SqlServer:使用视图 View
    SqlServer:修改和删除数据
    网络管理:SNMPv1
    《剑指 Offer》学习记录:题 9:用两个栈实现队列
    《剑指 Offer》学习记录:题 27:二叉树的镜像
    团队冲刺9
    团队冲刺8
    团队冲刺7
    团队冲刺6
  • 原文地址:https://www.cnblogs.com/lenther2002/p/4485775.html
Copyright © 2020-2023  润新知