
# 设置SQL开关 - SetSqlSwitch
#### 功能介绍
设置全量SQL、慢SQL、死锁、锁阻塞开关和保存时长。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-das/das_01_0130.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                | 访问级别  | 资源类型（\*为必须） | 条件键 | 别名 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | das:clouddba:write | write | -           | -   | -  | -      |
     
  
 
#### URI
POST /v3/{project_id}/instance/set-sql-switch
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释**： 租户在某一Region下的项目ID。 获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-das/das_01_0036.html)。 **约束限制：** 不涉及。 **取值范围：** 只能由英文字母、数字组成，且长度为32个字符。 **默认取值：** 不涉及。 |
   
#### 请求参数
表2请求Body参数 
| 参数                            | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|
| engine_type                   | 是    | String  | **参数解释：** 数据库引擎类型。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                    |
| instance_id                   | 是    | String  | **参数解释：** 实例ID，实例的唯一标识。可通过查看实例列表或者实例详情获取实例ID信息。 **约束限制：** 不涉及。 **取值范围：** 只能由英文字母、数字组成，且长度为36个字符。 **默认取值：** 不涉及。 |
| full_sql_switch_on            | 否    | Boolean | **参数解释：** 数据库引擎类型。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                             |
| full_sql_retention_hours      | 否    | Long    | **参数解释：** 数据库引擎类型。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                 |
| full_sql_switch_on            | 否    | Boolean | **参数解释：** 全量SQL开关。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                            |
| full_sql_retention_hours      | 否    | Long    | **参数解释：** 全量SQL存储时长。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                           |
| slow_sql_switch_on            | 否    | Boolean | **参数解释：** 慢SQL开关。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                     |
| slow_sql_retention_hours      | 否    | Long    | **参数解释：** 慢SQL存储时长。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                |
| dead_lock_switch_on           | 否    | Boolean | **参数解释：** 死锁开关。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                         |
| dead_lock_retention_hours     | 否    | Long    | **参数解释：** 死锁存储时长。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                      |
| lock_blocking_switch_on       | 否    | Boolean | **参数解释：** 锁等待开关。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                              |
| lock_blocking_retention_hours | 否    | Long    | **参数解释：** 锁等待存储时长。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                       |
   
#### 响应参数
**状态码： 200**
表3响应Body参数 
| 参数        | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|
| success   | Boolean | **参数解释：** 是否成功。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                       |
| status    | Integer | **参数解释：** 状态值。 **取值范围：** - 1：成功。  - 2：失败无需轮询。  - 3：失败需要轮询。   |
| error_msg | Boolean | **参数解释：** 错误信息。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                        |
   
#### 请求示例
```
POST https://das.cn-north-1.myhuaweicloud.com/v3/054e292c9880d4992f02c0196d3ea468/instance/set-sql-switch 
 
{
    "engine_type": "sqlserver",
    "instance_id": "47d0524891964dc48cee42c371928777in04",
    "slow_sql_switch_on": true,
    "slow_sql_retention_hours": 168,
    "full_sql_switch_on": true,
    "full_sql_retention_hours": 168,
    "dead_lock_switch_on": true,
    "dead_lock_retention_hours": 168,
    "lock_blocking_switch_on": true,
    "lock_blocking_retention_hours": 168
}
```
#### 响应示例
**状态码： 200**
Success.
```
{
    "success": true,
    "status": 1
}
```
#### 状态码
| 状态码 | 描述            |
|:---|:---|
| 200 | Success.      |
| 400 | Client error. |
| 500 | Server error. |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-das/das_01_0035.html)。
