zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    过河卒 NOIp 2002 dp
    [POI2014]KUR-Couriers BZOJ3524 主席树
    【模板】可持久化线段树 1(主席树)
    EXPEDI
    取石子游戏 BZOJ1874 博弈
    【模板】文艺平衡树(Splay) 区间翻转 BZOJ 3223
    关于表白
    POJ 1951
    Codeforces 1032F Vasya and Maximum Matching dp
    Codeforces 1016F Road Projects
  • 原文地址:https://www.cnblogs.com/lenther2002/p/4485775.html
Copyright © 2011-2022 走看看