
# 查询死锁关系 - GetDeadLockRelationship
#### 功能介绍
查询死锁关系。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-das/das_01_0130.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                   | 访问级别 | 资源类型（\*为必须） | 条件键 | 别名 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | das::showCloudDBAInfo | read | -           | -   | -  | -      |
     
  
 
#### URI
GET /v3/{project_id}/instances/{instance_id}/dead-lock/get-dead-lock-relationship
表1路径参数 
| 参数          | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| project_id  | 是    | String | **参数解释**： 租户在某一Region下的项目ID。 获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-das/das_01_0036.html)。 **约束限制：** 不涉及。 **取值范围：** 只能由英文字母、数字组成，且长度为32个字符。 **默认取值：** 不涉及。 |
| instance_id | 是    | String | **参数解释：** 实例ID，实例的唯一标识。可通过查看实例列表或者实例详情获取实例ID信息。 **约束限制：** 不涉及。 **取值范围：** 只能由英文字母、数字组成，且长度为36个字符。 **默认取值：** 不涉及。                                                                                |
   
表2Query参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| dead_lock_id | 是    | String | **参数解释：** 死锁ID。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。   |
| start_time   | 是    | Long   | **参数解释：** 开始时间戳 ms。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
| end_time     | 是    | Long   | **参数解释：** 结束时间戳 ms。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。       |
   
#### 请求参数
无。
#### 响应参数
**状态码： 200**
表3响应Body参数 
| 参数            | 参数类型                                                   | 描述                                                                                                                        |
|:---|:---|:---|
| process_list  | Arrays of [表4] Objects | **参数解释：** 会话列表。 **取值范围：** 不涉及。      |
| resource_list | Arrays of [表5] Objects | **参数解释：** 资源列表。 **取值范围：** 不涉及。 |
   
 表4process 
| 参数         | 参数类型   | 描述                                                                                                                            |
|:---|:---|:---|
| spid       | String | **参数解释：** 服务进程ID。 **取值范围：** 不涉及。         |
| process_id | String | **参数解释：** 会话ID。 **取值范围：** 不涉及。     |
| host_name  | String | **参数解释：** 主机名称。 **取值范围：** 不涉及。       |
| login_name | String | **参数解释：** 用户名称。 **取值范围：** 不涉及。    |
| log_used   | Long   | **参数解释：** 任务使用的日志空间。 **取值范围：** 不涉及。 |
| sql        | String | **参数解释：** SQL。 **取值范围：** 不涉及。      |
   
 表5resource 
| 参数                   | 参数类型                                                  | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|
| lock_label           | String                                                | **参数解释：** 死锁标签。 **取值范围：** - keylock  - objectlock  - ridlock  - pagelock  - compilelock   |
| db_id                | String                                                | **参数解释：** 数据库ID。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                     |
| db_name              | String                                                | **参数解释：** 数据库名称。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                     |
| index_name           | String                                                | **参数解释：** 索引名（仅keylock展示）。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                             |
| associated_object_id | String                                                | **参数解释：** 关联对象ID。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                   |
| object_name          | String                                                | **参数解释：** 对象名称，死锁名称。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                   |
| lock_mode            | String                                                | **参数解释：** 锁模式。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                          |
| owner_list           | Arrays of [表6] Objects | **参数解释：** 持有者列表。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                         |
| waiter_list          | Arrays of [表6] Objects | **参数解释：** 等待者列表。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                       |
   
 表6object 
| 参数         | 参数类型   | 描述                                                                                                                     |
|:---|:---|:---|
| process_id | String | **参数解释：** 会话ID。 **取值范围：** 不涉及。   |
| spid       | String | **参数解释：** 服务进程ID。 **取值范围：** 不涉及。 |
| lock_mode  | String | **参数解释：** 锁模式。 **取值范围：** 不涉及。     |
   
#### 请求示例
```
GET https://das.cn-north-1.myhuaweicloud.com/v3/052041494800d57c2f02c00275b4c247/instances/47d0524891964dc48cee42c371928777in04/dead-lock/get-dead-lock-relationship?start_time=1761460179597&end_time=1764052179597&dead_lock_id=40DB3062B1662DE9
```
#### 响应示例
**状态码： 200**
Success.
```
{
    "process_list": [
        {
            "spid": "59",
            "process_id": "process1ec8b6a04e8",
            "host_name": "dbs_das_service2",
            "login_name": "rdsuser",
            "log_used": 252,
            "sql": "BEGIN TRAN  UPDATE dbo.test_deadlock2 SET name = 'CC' WHERE id = 1 ; UPDATE dbo.test_deadlock1 SET name = 'CC' WHERE id = 1 ; COMMIT"
        },
        {
            "spid": "58",
            "process_id": "process1ec4a079468",
            "host_name": "dbs_das_service2",
            "login_name": "rdsuser",
            "log_used": 252,
            "sql": "BEGIN TRAN  UPDATE dbo.test_deadlock1 SET name = 'CC' WHERE id = 1 ; WAITFOR DELAY '00:00:05' UPDATE dbo.test_deadlock2 SET name = 'CC' WHERE id = 1 ; ROLLBACK  "
        }
    ],
    "resource_list": [
        {
            "lock_label": "keylock",
            "db_id": "6",
            "db_name": "test",
            "index_name": "PK__test_dea__3213E83FF9793901",
            "associated_object_id": "72057594045792256",
            "object_name": "test.dbo.test_deadlock1",
            "lock_mode": "X",
            "owner_list": [
                {
                    "process_id": "process1ec4a079468",
                    "spid": "58",
                    "lock_mode": "X"
                }
            ],
            "waiter_list": [
                {
                    "process_id": "process1ec8b6a04e8",
                    "spid": "59",
                    "lock_mode": "X"
                }
            ]
        },
        {
            "lock_label": "keylock",
            "db_id": "6",
            "db_name": "test",
            "index_name": "PK__test_dea__3213E83F09D7C5A8",
            "associated_object_id": "72057594045857792",
            "object_name": "test.dbo.test_deadlock2",
            "lock_mode": "X",
            "owner_list": [
                {
                    "process_id": "process1ec8b6a04e8",
                    "spid": "59",
                    "lock_mode": "X"
                }
            ],
            "waiter_list": [
                {
                    "process_id": "process1ec4a079468",
                    "spid": "58",
                    "lock_mode": "X"
                }
            ]
        }
    ]
}
```
#### 状态码
| 状态码 | 描述            |
|:---|:---|
| 200 | Success.      |
| 400 | Client error. |
| 500 | Server error. |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-das/das_01_0035.html)。
