

# 修改 RDS Custom for SQL Server 数据库实例的存储
<a name="custom-managing-sqlserver.storage-modify"></a>

修改 RDS Custom for SQL Server 数据库实例的存储与修改 Amazon RDS 数据库实例的存储类似，但您只能执行以下操作：
+ 增加分配的存储大小。
+ 更改存储类型。您可以使用可用的存储类型，如通用型或预调配 IOPS。gp3、io1 和 io2 Block Express 存储类型支持预调配 IOPS。
+ 如果您使用的是支持预调配 IOPS 的卷类型，则更改预调配 IOPS。

以下限制适用于修改 RDS Custom for SQL Server 数据库实例的存储：
+ RDS Custom for SQL Server 的最小分配存储大小为 20 GiB。io1、gp2 和 gp3 的最大存储限制为 16 TiB，而 io2 支持 64 TiB。
+ 与 Amazon RDS 一样，您无法减少分配的存储。这是 Amazon Elastic Block Store (Amazon EBS) 卷的限制。有关更多信息，请参阅 [使用 Amazon RDS 数据库实例的存储](USER_PIOPS.StorageTypes.md)。
+ RDS Custom for SQL Server 数据库实例不支持存储自动扩缩。
+ 您手动连接到 RDS Custom 数据库实例的任何存储卷都不会考虑进行存储扩缩。仅考虑对 RDS 提供的默认数据卷（即 D 驱动器）进行存储扩缩。

  有关更多信息，请参阅 [RDS Custom 支持外围](custom-concept.md#custom-troubleshooting.support-perimeter)。
+ 扩展存储通常不会导致数据库实例的任何中断或性能下降。在修改数据库实例的存储大小后，数据库实例的状态为 **storage-optimization**。
+ 存储优化可能耗时数小时。六（6）小时后或在实例上完成存储优化后，您才能进行进一步的存储修改。有关更多信息，请参阅 [使用 Amazon RDS 数据库实例的存储](USER_PIOPS.StorageTypes.md)。

有关存储的更多信息，请参阅 [Amazon RDS 数据库实例存储](CHAP_Storage.md)。

有关存储修改的一般信息，请参阅[使用 Amazon RDS 数据库实例的存储](USER_PIOPS.StorageTypes.md)。

**重要**  
请勿使用 Amazon EC2 控制台、Amazon EBS 控制台或 API 修改 RDS Custom for SQL Server 数据库实例的存储。在 Amazon RDS 控制台或 API 之外直接修改存储会使数据库处于 `unsupported-configuration` 状态。  
当您使用 Amazon EC2 或 Amazon EBS 直接更改存储时，Amazon RDS 无法跟踪或管理数据库实例状态。这可能会导致：  
高可用性失效转移机制无法正常运行
数据库复制设置中断
冗余功能失败
只通过 Amazon RDS 控制台或 API 修改存储，以使数据库保持在受支持的状态。有关恢复步骤，请参阅[修复 RDS Custom for SQL Server 中不支持的配置](custom-troubleshooting-sqlserver.md#custom-troubleshooting-sqlserver.fix-unsupported)。

## 控制台
<a name="custom-managing.storage-modify.CON"></a>

**修改 RDS Custom for SQL Server 数据库实例的存储**

1. 登录AWS 管理控制台并通过以下网址打开 Amazon RDS 控制台：[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)。

1. 在导航窗格中，选择 **Databases (数据库)**。

1. 选择要修改的数据库实例。

1. 选择**修改**。

1. 根据需要进行以下更改：

   1. 为 **Allocated Storage (分配的存储)** 输入新值。它必须大于当前值，且范围从 20GiB 到 16TiB。

   1. 更改 **Storage type**（存储类型）的值。您可以从可用的通用型或预调配 IOPS 存储类型中进行选择。gp3、io1 和 io2 Block Express 存储类型支持预调配 IOPS。

   1. 如果您指定支持预调配 IOPS 的卷类型，则可以定义**预调配 IOPS** 值。

1. 选择**继续**。

1. 选择 **Apply immediately**（立即应用）或 **Apply during the next scheduled maintenance window**（在下一个计划的维护时段内应用）。

1. 选择**修改数据库实例**。

## AWS CLI
<a name="custom-managing-sqlserver.storage-modify.CLI"></a>

要修改 RDS Custom for SQL Server 数据库实例的存储，请使用 [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) AWS CLI 命令。根据需要设置以下参数：
+ `--allocated-storage` – 要为数据库实例分配的存储量（以 GiB 为单位）。它必须大于当前值，并且范围从 20 到 16,384GiB。
+ `--storage-type` – 存储类型，例如 gp2、gp3、io1 或 io2。
+ `--iops` – 数据库实例的预调配 IOPS。您只能为支持预调配 IOPS 的存储类型（gp3、io1 和 io2）指定此项。
+ `--apply-immediately` – 使用 `--apply-immediately` 可立即应用存储更改。

  或使用 `--no-apply-immediately`（默认设置）以在下一个维护时段内应用更改。

以下示例将 my-custom-instance 的存储大小更改为 200GiB，将存储类型更改为 io1，将预调配 IOPS 更改为 3000。

**Example**  
对于 Linux、macOS 或 Unix：  

```
aws rds modify-db-instance \
    --db-instance-identifier my-custom-instance \
    --storage-type io1 \
    --iops 3000 \
    --allocated-storage 200 \
    --apply-immediately
```
对于 Windows：  

```
aws rds modify-db-instance ^
    --db-instance-identifier my-custom-instance ^
    --storage-type io1 ^
    --iops 3000 ^
    --allocated-storage 200 ^
    --apply-immediately
```