

# 使用适用于 RDS Custom for SQL Server 的自定义引擎版本
<a name="custom-cev-sqlserver"></a>

RDS Custom for SQL Server 的*自定义引擎版本（CEV）*是包括 Microsoft SQL Server 的亚马逊云机器镜像（AMI）。

**CEV 工作流程的基本步骤如下：**

1. 选择 AWS EC2 Windows AMI 以用作 CEV 的基础镜像。您可以选择使用预安装的 Microsoft SQL Server，也可以自带媒体以自行安装 SQL Server。

1. 在操作系统（OS）上安装其他软件，并自定义操作系统和 SQL Server 的配置以满足您的企业需求。

1. 将 AMI 另存为黄金镜像

1. 从黄金镜像创建自定义引擎版本（CEV）。

1. 使用 CEV 创建新的 RDS Custom for SQL Server 数据库实例。

然后，Amazon RDS 会为您管理这些数据库实例。

CEV 允许您维护操作系统和数据库的首选基准配置。使用 CEV 可确保主机配置（如任何第三方代理安装或其他操作系统自定义）在 RDS Custom for SQL Server 数据库实例上持续存在。使用 CEV，您可以使用相同配置快速部署 RDS Custom for SQL Server 数据库实例集。

**Topics**
+ [

# 正在准备创建适用于 RDS Custom for SQL Server 的 CEV
](custom-cev-sqlserver.preparing.md)
+ [

# 创建适用于 RDS Custom for SQL Server 的 CEV
](custom-cev-sqlserver.create.md)
+ [

# 修改适用于 RDS Custom for SQL Server 的 CEV
](custom-cev-sqlserver-modifying.md)
+ [

# 查看 Amazon RDS Custom for SQL Server 的 CEV 详细信息
](custom-viewing-sqlserver.md)
+ [

# 删除适用于 RDS Custom for SQL Server 的 CEV
](custom-cev-sqlserver-deleting.md)

# 正在准备创建适用于 RDS Custom for SQL Server 的 CEV
<a name="custom-cev-sqlserver.preparing"></a>

您可以使用包含预安装、附带许可证（LI）的 Microsoft SQL Server 的亚马逊机器映像（AMI）来创建 CEV，也可以使用安装您自己的 SQL Server 安装媒体（BYOM）的 AMI 来创建 CEV。

## 准备 CEV
<a name="custom-cev-sqlserver.preparing.types"></a>

使用以下过程，通过自带媒体（BYOM）或预安装的 Microsoft SQL Server（LI）创建 CEV。

### 使用自带媒体（BYOM）准备 CEV
<a name="custom-cev-sqlserver.preparing.byom"></a>

以下步骤以 **Windows Server 2019 Base** 的 AMI 作为示例。

**使用 BYOM 创建 CEV**

1. 从 Amazon EC2 控制台控制中，选择**启动实例**。

1. 对于**名称**，输入实例的名称。

1. 在“快速入门”下，选择 **Windows**。

1. 选择 **Microsoft Windows Server 2019 Base**。

1. 选择适当的实例类型、键对、网络和存储设置，然后启动实例。

1. 启动或创建 EC2 实例后，请确保从步骤 4 中选择了正确的 Windows AMI：

   1. 在 Amazon EC2 控制台选择 EC2 实例。

   1. 在**详细信息**部分，检查**使用情况操作**并确保将其设置为 **RunInstances:0002**。  
![\[将 RunInstances:0002 用于 BYOM 的 Windows AMI\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/images/cev-sqlserver-byom-ec2runinstances.png)

1. 登录 EC2 实例并将您的 SQL Server 安装媒体复制到该实例。
**注意**  
如果您使用 SQL Server 开发版构建 CEV，则可能需要使用 [Microsoft Visual Studio 订阅](https://my.visualstudio.com/Downloads?q=sqlserver%20developer)获取安装媒体。

1. 安装 SQL Server。务必执行以下操作：

   1. 查看[对 RDS Custom for SQL Server 使用 BYOM 的要求](custom-sqlserver.byom.md#custom-sqlserver.byom.requirements)和[RDS Custom for SQL Server CEV 的版本支持](#custom-cev-sqlserver.preparing.VersionSupport)。

   1. 将实例根目录设置为默认值 `C:\Program Files\Microsoft SQL Server\`。不要更改此目录。

   1. 将 SQL Server 数据库引擎账户名称设置为 `NT Service\MSSQLSERVER` 或 `NT AUTHORITY\NETWORK SERVICE`。

   1. 将 SQL Server 启动模式设置为**手动**。

   1. 将 SQL Server 身份验证模式选择为**混合**。

   1. 保留默认数据目录和 TempDB 位置的当前设置。

1. 将 SQL Server sysadmin（SA）服务器角色权限授予 `NT AUTHORITY\SYSTEM`：

   ```
   1. USE [master]
   2. GO
   3. EXEC master..sp_addsrvrolemember @loginame = N'NT AUTHORITY\SYSTEM' , @rolename = N'sysadmin'
   4. GO
   ```

1. 安装其他软件，或自定义操作系统和数据库配置以满足您的要求。

1. 在 EC2 实例上运行 Sysprep。有关更多信息，请参阅[使用 Windows Sysprep 创建 Amazon EC2 AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-create-win-sysprep.html)。

1. 保存包含您已安装的 SQL Server 版本、其他软件和自定义项的 AMI。这将是您的黄金镜像。

1. 通过提供您创建的映像的 AMI ID 来创建新的 CEV。有关详细步骤，请参阅[创建适用于 RDS Custom for SQL Server 的 CEV](custom-cev-sqlserver.create.md)。

1. 使用 CEV 创建新的 RDS Custom for SQL Server 数据库实例。有关详细步骤，请参阅[从 CEV 创建 RDS Custom for SQL Server 数据库实例](custom-cev-sqlserver.create.md#custom-cev-sqlserver.create.newdbinstance)。

### 使用预安装的 SQL Server（LI）准备 CEV
<a name="custom-cev-sqlserver.preparing.licenseincluded"></a>

使用预安装的 Microsoft SQL Server（LI）创建 CEV 的以下步骤以 **SQL Server CU20** 版本号为 `2023.05.10` 的 AMI 作为示例。创建 CEV 时，请选择具有最新版本号的 AMI。这可以确保您使用的是支持的 Windows Server 和 SQL Server 版本 [具有最新的累积更新（CU）]。

**使用预安装的 Microsoft SQL Server（LI）创建 CEV**

1. 选择最新可用的 AWS EC2 Windows 亚马逊机器映像（AMI），其中带有附带许可证（LI）的 Microsoft Windows Server 和 SQL Server。

   1. 在 [Windows AMI 版本历史记录](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-windows-ami-version-history.html)中搜索 **CU20**。

   1. 记下版本号。对于 SQL Server 2019 CU20，版本号为 `2023.05.10`。  
![\[SQL Server 2019 CU20 的 AMI 版本历史记录结果。\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/images/rds_custom_sqlserver_cev_find_ami_history_li_cu20.png)

   1. 通过以下网址打开 Amazon EC2 控制台：[https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)。

   1. 在 Amazon EC2 控制台的左侧导航窗格中，选择 **Images**（映像），然后选择 **AMI**。

   1. 选择**公有映像**。

   1. 在搜索框中输入 `2023.05.10`。随即出现 AMI 的列表。

   1. 在搜索框中输入 `Windows_Server-2019-English-Full-SQL_2019` 以筛选结果。应显示以下结果。  
![\[使用 SQL Server 2019 CU20 时支持的 AMI。\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/images/rds_custom_sqlserver_cev_find_ami_li_cu.png)

   1. 选择要使用的 AMI 以及 SQL Server 版本。

1. 从您选择的 AMI 创建或启动 EC2 实例。

1. 登录 EC2 实例并安装其他软件，或自定义操作系统和数据库配置以满足您的要求。

1. 在 EC2 实例上运行 Sysprep。有关使用 Sysprep 准备 AMI 的更多信息，请参阅[使用 Sysprep 创建标准化的亚马逊机器映像（AMI）](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Creating_EBSbacked_WinAMI.html#sysprep-using-ec2launchv2)。

1. 保存包含您已安装的 SQL Server 版本、其他软件和自定义项的 AMI。这将是您的黄金镜像。

1. 通过提供您创建的映像的 AMI ID 来创建新的 CEV。有关创建 CEV 的详细步骤，请参阅 [创建适用于 RDS Custom for SQL Server 的 CEV](custom-cev-sqlserver.create.md)。

1. 使用 CEV 创建新的 RDS Custom for SQL Server 数据库实例。有关详细步骤，请参阅[从 CEV 创建 RDS Custom for SQL Server 数据库实例](custom-cev-sqlserver.create.md#custom-cev-sqlserver.create.newdbinstance)。

## RDS Custom for SQL Server CEV 的区域可用性
<a name="custom-cev-sqlserver.preparing.RegionVersionAvailability"></a>

以下 AWS 区域中提供对 RDS Custom for SQL Server 的自定义引擎版本（CEV）的支持：
+ 美国东部（俄亥俄州）
+ 美国东部（弗吉尼亚州北部）
+ 美国西部（俄勒冈州）
+ 美国西部（北加利福尼亚）
+ 亚太地区（孟买）
+ 亚太地区（大阪）
+ 亚太地区（首尔）
+ 亚太地区（新加坡）
+ 亚太地区（悉尼）
+ 亚太地区（东京）
+ 加拿大（中部）
+ 欧洲地区（法兰克福）
+ 欧洲地区（爱尔兰）
+ 欧洲地区（伦敦）
+ 欧洲地区（巴黎）
+ 欧洲地区（斯德哥尔摩）
+ 南美洲（圣保罗）

## RDS Custom for SQL Server CEV 的版本支持
<a name="custom-cev-sqlserver.preparing.VersionSupport"></a>

以下 AWS EC2 Windows AMI 支持创建适用于 RDS Custom for SQL Server 的 CEV：
+ 对于使用预安装媒体的 CEV，带有附带许可证（LI）的 Microsoft Windows Server 2019（操作系统）和 SQL Server 2022 或 2019 的 AWS EC2 Windows AMI
+ 对于使用自带媒体（BYOM）的 CEV，带有 Microsoft Windows Server 2019（操作系统）的 AWS EC2 Windows AMI

以下操作系统（OS）和数据库版本支持创建适用于 RDS Custom for SQL Server 的 CEV：
+ 对于使用预装媒体的 CEV：
  + 带有 CU9、CU13、CU14-GDR、CU15-GDR、CU16、CU17、CU18、CU19、CU19-GDR、CU20-GDR、CU21-GDR、CU22 和 CU22-GDR 的 SQL Server 2022 企业版、标准版或 Web 版。
  + 带有 CU8、CU17、CU18、CU20、CU24、CU26、CU28-GDR、CU29-GDR、CU30、CU32 和 CU32-GDR 的 SQL Server 2019 企业版、标准版或 Web 版。
+ 对于使用自带媒体（BYOM）的 CEV，
  + 带有 CU9、CU13、CU14-GDR、CU15-GDR、CU16、CU17、CU18、CU19、CU19-GDR、CU20-GDR、CU21-GDR、CU22 和 CU22-GDR 的 SQL Server 2022 企业版、标准版或开发版。
  + 带有 CU8、CU17、CU18、CU20、CU24、CU26、CU28-GDR、CU29-GDR、CU30、CU32 和 CU32-GDR 的 SQL Server 2019 企业版、标准版或开发版。
+ 对于使用预安装媒体或自带媒体（BYOM）的 CEV，Windows Server 2019 是唯一支持的操作系统。

有关更多信息，请参阅[AWS Windows AMI 版本历史记录](https://docs.aws.amazon.com/ec2/latest/windows-ami-reference/ec2-windows-ami-version-history.html)。

## RDS Custom for SQL Server CEV 的要求
<a name="custom-cev-sqlserver.preparing.Requirements"></a>

以下要求应用于创建适用于 RDS Custom for SQL Server 的 CEV：
+ 用于创建 CEV 的 AMI 必须基于 RDS Custom for SQL Server 支持的操作系统和数据库配置。有关支持的配置的更多信息，请参阅 [Amazon RDS Custom for SQL Server 的要求和限制](custom-reqs-limits-MS.md)。
+ CEV 必须具有唯一的名称。您无法创建与现有 CEV 同名的 CEV。
+ 必须使用 SQL Server 的以下命名模式命名 CEV：*主要版本 \$1 次要版本 \$1 自定义字符串*。*主要版本 \$1 次要版本*必须与 AMI 提供的 SQL Server 版本相匹配。例如，您可以将带有 SQL Server 2019 CU17 的 AMI 命名为 **15.00.4249.2.my\$1cevtest**。
+ 您必须使用 Sysprep 准备 AMI。有关使用 Sysprep 准备 AMI 的更多信息，请参阅[使用 Sysprep 创建标准化的亚马逊机器映像（AMI）](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-create-win-sysprep.html)。
+ 您负责维护 AMI 的生命周期。从 CEV 创建的 RDS Custom for SQL Server 数据库实例不存储 AMI 的副本。它保持一个指向您用于创建 CEV 的 AMI 的指针。AMI 必须存在，RDS Custom for SQL Server 数据库实例才能保持可运行状态。

## RDS Custom for SQL Server CEV 的限制
<a name="custom-cev-sqlserver.preparing.Limitations"></a>

以下限制适用于 RDS Custom for SQL Server 的自定义引擎版本：
+ 如果存在与 CEV 关联的资源（如数据库实例或数据库快照），则无法将其删除。
+ 要创建 RDS Custom for SQL Server 数据库实例，CEV 的状态必须为 `pending-validation`、`available`、`failed` 或 `validating`。如果 CEV 状态为 `incompatible-image-configuration`，则无法使用此 CEV 创建 RDS Custom for SQL Server 数据库实例。
+ 要修改 RDS Custom for SQL Server 数据库实例以使用新的 CEV，CEV 的状态必须为 `available`。
+ 无法从现有 RDS Custom for SQL Server 数据库实例创建 AMI 或 CEV。
+ 您无法修改现有 CEV 以使用其他 AMI。但是，您可以修改 RDS Custom for SQL Server 数据库实例以使用不同的 CEV。有关更多信息，请参阅 [修改 RDS Custom for SQL Server 数据库实例](custom-managing.modify-sqlserver.md)。
+ 不支持使用与创建数据库实例时提供的 KMS 密钥不同的客户自主管理型 KMS 密钥来对 AMI 或 CEV 进行加密。
+ 不支持 CEV 的跨区域副本。
+ 不支持 CEV 的跨账户副本。
+ 删除 CEV 后，无法还原或恢复它。但是，您可以从同一 AMI 创建新的 CEV。
+ RDS Custom for SQL Server 数据库实例将您的 SQL Server 数据库文件存储在 *D:\$1* 驱动器中。与 CEV 关联的 AMI 应将 Microsoft SQL Server 系统数据库文件存储在 *C:\$1* 驱动器中。
+ RDS Custom for SQL Server 数据库实例保留您对 SQL Server 所做的配置更改。在从 CEV 创建的正在运行的 RDS Custom for SQL Server 数据库实例上对操作系统所做的任何配置更改都不会保留。如果您需要对操作系统进行永久配置更改并将其保留为新的基准配置，请创建新的 CEV 并修改数据库实例以使用新的 CEV。
**重要**  
修改 RDS Custom for SQL Server 数据库实例以使用新的 CEV 是一项离线操作。您可以立即执行修改，也可以安排在每周维护时段内进行修改。
+ 当您修改 CEV 时，Amazon RDS 不会将这些修改推送到任何关联的 RDS Custom for SQL Server 数据库实例。必须修改每个 RDS Custom for SQL Server 数据库实例，才能使用新的或更新的 CEV。有关更多信息，请参阅 [修改 RDS Custom for SQL Server 数据库实例](custom-managing.modify-sqlserver.md)。
+ 
**重要**  
如果删除 CEV 使用的 AMI，则任何可能需要更换主机的修改（例如规模计算）都将失败。然后，RDS Custom for SQL Server 数据库实例将放在 RDS 支持边界之外。建议您避免删除与 CEV 关联的任何 AMI。

# 创建适用于 RDS Custom for SQL Server 的 CEV
<a name="custom-cev-sqlserver.create"></a>

您可以使用 AWS 管理控制台或 AWS CLI 创建自定义引擎版本（CEV）。然后，您可以使用 CEV 创建 RDS Custom for SQL Server 实例。

确保 Amazon 机器映像（AMI）与您的 CEV 位于同一 AWS 账户和区域中。否则，创建 CEV 的过程将失败。

有关更多信息，请参阅 [为 Amazon RDS Custom for SQL Server 创建并连接到数据库实例](custom-creating-sqlserver.md)。

**重要**  
对于使用预安装的 SQL Server 创建的 AMI 和使用自带媒体（BYOM）创建的 AMI，创建 CEV 的步骤相同。

## 控制台
<a name="custom-cev-sqlserver.create.console"></a>

**要创建 CEV**

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

1. 在导航窗格中，选择 **Custom engine versions**（自定义引擎版本）。

   **Custom engine versions**（自定义引擎版本）页面显示了当前存在的所有 CEV。如果您尚未创建任何 CEV，则该表为空。

1. 选择 **Create custom engine version**（创建自定义引擎版本）。

1. 对于 **Engine type**（引擎类型），选择 **Microsoft SQL Server**。

1. 对于**版本**，请选择要使用的数据库引擎版本。

1. 对于 **Major version**（主要版本），选择在 AMI 上安装的主引擎主版本。

1. 在 **Version details**（版本详细信息）中，在 **Custom engine version name**（自定义引擎版本名称）中输入有效的名称。

   名称格式为 `major-engine-version.minor-engine-version.customized_string`。您可以使用 1–50 位字母数字字符、下划线、短划线和句点。例如，您可以输入名称 **15.00.4249.2.my\$1cevtest**。

   或者，选择输入 CEV 的描述。

1. 对于 **Installation Media**（安装介质），浏览或输入您想要从中创建 CEV 的 AMI ID。

1. 在 **Tags** （标签）部分中，添加任何标签以标识 CEV。

1. 选择 **Create custom engine version**（创建自定义引擎版本）。

**Custom engine versions**（自定义引擎版本）页面显示。您的 CEV 显示状态 **pending-validation**（待验证）

## AWS CLI
<a name="custom-cev-sqlserver.create.CEV"></a>

要使用 AWS CLI 创建 CEV，请运行 [create-custom-db-engine-version](https://docs.aws.amazon.com/cli/latest/reference/rds/create-custom-db-engine-version.html) 命令。

以下选项为必填：
+ `--engine`
+ `--engine-version`
+ `--image-id`

您还可以指定以下选项：
+ `--description`
+ `--region`
+ `--tags`

下面的示例创建了一个名为 `15.00.4249.2.my_cevtest` 的 CEV。确保 CEV 的名称以主要引擎版本号开头。

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

```
1. aws rds create-custom-db-engine-version \
2.     --engine custom-sqlserver-ee \
3.     --engine-version 15.00.4249.2.my_cevtest \
4.     --image-id ami-0r93cx31t5r596482 \                    
5.     --description "Custom SQL Server EE 15.00.4249.2 cev test"
```
以下部分输出显示了引擎、参数组和其他信息。  

```
 1. "DBEngineVersions": [
 2.     {
 3.     "Engine": "custom-sqlserver-ee",
 4.     "MajorEngineVersion": "15.00",
 5.     "EngineVersion": "15.00.4249.2.my_cevtest",
 6.     "DBEngineDescription": "Microsoft SQL Server Enterprise Edition for RDS Custom for SQL Server",
 7.     "DBEngineVersionArn": "arn:aws:rds:us-east-1:<my-account-id>:cev:custom-sqlserver-ee/15.00.4249.2.my_cevtest/a1234a1-123c-12rd-bre1-1234567890",
 8.     "DBEngineVersionDescription": "Custom SQL Server EE 15.00.4249.2 cev test",
 9.                                                       
10.     "Image": [
11.         "ImageId": "ami-0r93cx31t5r596482",
12.         "Status": "pending-validation"
13.      ],
14.     "CreateTime": "2022-11-20T19:30:01.831000+00:00",
15.     "SupportsLogExportsToCloudwatchLogs": false,
16.     "SupportsReadReplica": false,
17.     "Status": "pending-validation",
18.     "SupportsParallelQuery": false,
19.     "SupportsGlobalDatabases": false,
20.     "TagList": []
21.     }
22. ]
```

如果创建 CEV 的过程失败，则 RDS Custom for SQL Server 会发出 `RDS-EVENT-0198` 以及该消息 `Creation failed for custom engine version major-engine-version.cev_name`。该消息包括有关失败的详细信息，例如，事件打印丢失的文件。要查找有关 CEV 创建问题的故障排除建议，请参阅 [RDS Custom for SQL Server 的 CEV 错误故障排除](custom-troubleshooting-sqlserver.md#custom-troubleshooting-sqlserver.cev)。

## 从 CEV 创建 RDS Custom for SQL Server 数据库实例
<a name="custom-cev-sqlserver.create.newdbinstance"></a>

成功创建 CEV 后，**CEV status**（CEV 状态）将显示 `pending-validation`。现在，您可以使用 CEV 创建新的 RDS Custom for SQL Server 数据库实例。要从 CEV 创建新的 RDS Custom for SQL Server 数据库实例，请参阅 [创建 RDS Custom for SQL Server 数据库实例](custom-creating-sqlserver.md#custom-creating-sqlserver.create)。

## CEV 的生命周期
<a name="custom-cev-sqlserver.create.lifecycle"></a>

CEV 生命周期包括以下状态。


****  

| CEV 状态 | 描述 | 故障排除建议 | 
| --- | --- | --- | 
| `pending-validation` | CEV 已创建，正在等待关联 AMI 的验证。CEV 将保持为 `pending-validation`，直到从中创建 RDS Custom for SQL Server 数据库实例。 | 如果没有现有任务，则从 CEV 创建一个新的 RDS Custom for SQL Server 数据库实例。创建 RDS Custom for SQL Server 数据库实例时，系统尝试验证 CEV 的关联 AMI。  | 
| `validating` | 基于新的 CEV 创建 RDS Custom for SQL Server 数据库实例的任务正在进行中。创建 RDS Custom for SQL Server 数据库实例时，系统尝试验证 CEV 的关联 AMI。 | 等待现有 RDS Custom for SQL Server 数据库实例的创建任务完成。您可以使用 RDS EVENTS 控制台查看详细的事件消息以进行故障排除。  | 
| `available` | 已成功验证 CEV。成功从 CEV 创建 RDS Custom for SQL Server 数据库实例后，CEV 将进入 `available` 状态。 | CEV 不需要任何额外的验证。它可用于创建其他 RDS Custom for SQL Server 数据库实例或修改现有实例。 | 
| `inactive` | CEV 已修改为非活动状态。 | 您无法使用此 CEV 创建或升级 RDS Custom 数据库实例。此外，您无法使用此 CEV 还原数据库快照以创建新的 RDS Custom 数据库实例。有关如何将状态更改为 `ACTIVE` 的信息，请参阅 [修改适用于 RDS Custom for SQL Server 的 CEV](custom-cev-sqlserver-modifying.md)。 | 
| `failed` | 此 CEV 的创建数据库实例步骤在可验证 AMI 之前失败。或者，CEV 使用的底层 AMI 不处于可用状态。 | 排查系统无法创建数据库实例的根本原因。查看详细的错误消息并尝试再次创建新的数据库实例。确保 CEV 使用的底层 AMI 处于可用状态。 | 
| `incompatible-image-configuration` | 验证 AMI 时出错。 | 查看错误的技术详细信息。您无法再次尝试使用此 CEV 验证 AMI。查看以下部分：建议： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/custom-cev-sqlserver.create.html) 使用正确的信息创建新的 CEV。 如果需要，使用支持的 AMI 创建一个新的 EC2 实例，并在其上运行 Sysprep 进程。  | 

# 修改适用于 RDS Custom for SQL Server 的 CEV
<a name="custom-cev-sqlserver-modifying"></a>

您可以使用 AWS 管理控制台 或 AWS CLI 修改 CEV。您可以修改 CEV 描述或其可用性状态。您的 CEV 具有以下状态值之一：
+ `available` – 您可以使用此 CEV 创建新的 RDS Custom 数据库实例或升级数据库实例。这是新创建的 CEV 的原定设置状态。
+ `inactive` – 您无法使用此 CEV 创建或升级 RDS Custom 数据库实例。使用此 CEV，您无法还原数据库快照以创建新的 RDS Custom 数据库实例。

您可以将 CEV 状态从 `available` 更改为 `inactive` 或从 `inactive` 更改为 `available`。您可以将状态更改为 `INACTIVE`，以防止意外使用 CEV 或使已停止的 CEV 有资格再次使用。

## 控制台
<a name="custom-cev-sqlserver-modifying.console"></a>

**要修改 CEV**

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

1. 在导航窗格中，选择 **Custom engine versions**（自定义引擎版本）。

1. 选择要修改其描述或状态的 CEV。

1. 对于 **Actions**（操作），选择 **Modify**（修改）。

1. 进行以下任何更改：
   + 对于 **CEV status settings**（CEV 状态设置），选择新的可用状态。
   + 对于 **Version description**（版本描述），输入新的描述。

1. 选择 **Modify CEV**（修改 CEV）。

   如果 CEV 正在使用中，控制台将显示 **You can't modify the CEV status**（您不能修改 CEV 状态）。修复问题，然后重试。

**Custom engine versions**（自定义引擎版本）页面显示。

## AWS CLI
<a name="custom-cev-sqlserver-modifying.cli"></a>

要通过使用 AWS CLI 修改 CEV，请运行 [modify-custom-db-engine-version](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-custom-db-engine-version.html) 命令。您可以通过运行 [describe-db-engine-versions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html) 命令查找要修改的 CEV。

以下选项为必填：
+ `--engine`
+ `--engine-version cev`，其中 *`cev`* 是要修改的自定义引擎版本的名称
+ `--status`` status`，其中 *`status`* 是您希望分配给 CEV 的可用状态。

以下示例将名为 `15.00.4249.2.my_cevtest` 的 CEV 从当前状态更改为 `inactive`。

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

```
1. aws rds modify-custom-db-engine-version \
2.     --engine custom-sqlserver-ee \ 
3.     --engine-version 15.00.4249.2.my_cevtest \
4.     --status inactive
```
对于 Windows：  

```
1. aws rds modify-custom-db-engine-version ^
2.     --engine custom-sqlserver-ee ^
3.     --engine-version 15.00.4249.2.my_cevtest ^
4.     --status inactive
```

要修改 RDS Custom for SQL Server 数据库实例以使用新的 CEV，请参阅[修改 RDS Custom for SQL Server 数据库实例以使用新 CEV](custom-cev-sqlserver-modifying-dbinstance.md)。

# 修改 RDS Custom for SQL Server 数据库实例以使用新 CEV
<a name="custom-cev-sqlserver-modifying-dbinstance"></a>

您可以修改现有的 RDS Custom for SQL Server 数据库实例以使用不同的 CEV。您可以进行的更改包括：
+ 更改 CEV
+ 更改数据库实例类
+ 更改备份保留期和备份时段
+ 更改维护时段

## 控制台
<a name="custom-cev-sqlserver-modifying-dbinstance.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. 对于 **DB engine version**（数据库引擎版本），请选择不同的 CEV。

   1. 更改 **DB instance class**（数据库实例类）的值。有关支持的类，请参阅 [RDS Custom for SQL Server 的数据库实例类支持](custom-reqs-limits.instancesMS.md)。

   1. 更改 **Backup retention period**（备份保留期）的值。

   1. 对于 **Backup window**（备份时段），设置 **Start time**（开始时间）和 **Duration**（持续时间）的值。

   1. 对于 **DB instance maintenance window**（数据库实例维护时段），设置 **Start day**（开始日）、**Start time**（开始时间）和 **Duration**（持续时间）的值。

1. 选择**继续**。

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

1. 选择**修改数据库实例**。
**注意**  
将数据库实例从一个 CEV 修改为另一个 CEV 时，例如，在升级次要版本时，SQL Server 系统数据库（包括其数据和配置）将在当前 RDS Custom for SQL Server 数据库实例中持久存在。

## AWS CLI
<a name="custom-cev-sqlserver-modifying-dbinstance.CLI"></a>

要使用 AWS CLI 修改数据库实例以使用不同的 CEV，请运行 [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-custom-db-engine-version.html) 命令。

以下选项为必填：
+ `--db-instance-identifier`
+ `--engine-version cev`，其中 *`cev`* 是要将数据库实例更改为的自定义引擎版本的名称。

以下示例将名为 `my-cev-db-instance` 的数据库实例修改为使用名为 `15.00.4249.2.my_cevtest_new` 的 CEV 并立即应用更改。

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

```
1. aws rds modify-db-instance \
2.     --db-instance-identifier my-cev-db-instance \ 
3.     --engine-version 15.00.4249.2.my_cevtest_new \
4.     --apply-immediately
```
对于 Windows：  

```
1. aws rds modify-db-instance ^
2.     --db-instance-identifier my-cev-db-instance ^
3.     --engine-version 15.00.4249.2.my_cevtest_new ^
4.     --apply-immediately
```

# 查看 Amazon RDS Custom for SQL Server 的 CEV 详细信息
<a name="custom-viewing-sqlserver"></a>

您可以使用 AWS 管理控制台或 AWS CLI 查看有关 CEV 的详细信息。

## 控制台
<a name="custom-viewing-sqlserver.console"></a>

**查看 CEV 详细信息**

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

1. 在导航窗格中，选择 **Custom engine versions**（自定义引擎版本）。

   **Custom engine versions**（自定义引擎版本）页面显示了当前存在的所有 CEV。如果您尚未创建任何 CEV，则该页面为空。

1. 选择要查看的 CEV 的名称。

1. 选择 **Configuration**（配置）以查看详细信息。  
![\[查看 CEV 的配置详细信息。\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/images/rds_custom_sqlserver_cev_viewdetails.PNG)

## AWS CLI
<a name="custom-viewing-sqlserver.CEV"></a>

要通过使用 AWS CLI 查看有关 CEV 的详细信息，请运行 [describe-db-engine-versions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html) 命令。

您还可以指定以下选项：
+ `--include-all`，以查看具有任何生命周期状态的所有 CEV。如果没有 `--include-all` 选项，则只会返回处于 `available` 生命周期状态的 CEV。

```
aws rds describe-db-engine-versions --engine custom-sqlserver-ee --engine-version 15.00.4249.2.my_cevtest --include-all
{
    "DBEngineVersions": [
        {
            "Engine": "custom-sqlserver-ee",
            "MajorEngineVersion": "15.00",
            "EngineVersion": "15.00.4249.2.my_cevtest",
            "DBParameterGroupFamily": "custom-sqlserver-ee-15.0",
            "DBEngineDescription": "Microsoft SQL Server Enterprise Edition for custom RDS",
            "DBEngineVersionArn": "arn:aws:rds:us-east-1:{my-account-id}:cev:custom-sqlserver-ee/15.00.4249.2.my_cevtest/a1234a1-123c-12rd-bre1-1234567890",
            "DBEngineVersionDescription": "Custom SQL Server EE 15.00.4249.2 cev test",
            "Image": {
                "ImageId": "ami-0r93cx31t5r596482",
                "Status": "pending-validation"
            },
            "DBEngineMediaType": "AWS Provided",
            "CreateTime": "2022-11-20T19:30:01.831000+00:00",
            "ValidUpgradeTarget": [],
            "SupportsLogExportsToCloudwatchLogs": false,
            "SupportsReadReplica": false,
            "SupportedFeatureNames": [],
            "Status": "pending-validation",
            "SupportsParallelQuery": false,
            "SupportsGlobalDatabases": false,
            "TagList": [],
            "SupportsBabelfish": false
        }
    ]
}
```

您可以使用筛选条件查看具有特定生命周期状态的 CEV。例如，要查看生命周期状态为 `pending-validation`、`available` 或 `failed` 的 CEV：

```
aws rds describe-db-engine-versions engine custom-sqlserver-ee
                region us-west-2 include-all query 'DBEngineVersions[?Status == pending-validation || 
                Status == available || Status == failed]'
```

# 删除适用于 RDS Custom for SQL Server 的 CEV
<a name="custom-cev-sqlserver-deleting"></a>

您可以使用 AWS 管理控制台 或 AWS CLI 删除 CEV。通常，这需要花费几分钟时间。

删除 CEV 之前，请确保它未被以下任何项目使用：
+ RDS Custom 数据库实例
+ RDS Custom 数据库实例的快照
+ RDS Custom 数据库实例的自动备份

## 控制台
<a name="custom-cev-sqlserver-deleting.console"></a>

**要删除 CEV**

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

1. 在导航窗格中，选择 **Custom engine versions**（自定义引擎版本）。

1. 选择要删除其描述或状态的 CEV。

1. 对于**操作**，选择**删除**。

   **Delete *cev\$1name*?**（删除 cev\$1name？）对话框显示。

1. 输入 **delete me**，然后选择**删除**。

   在 **Custom engine versions**（自定义引擎版本）页面中，横幅显示您的 CEV 正在被删除。

## AWS CLI
<a name="custom-cev-sqlserver-deleting.console.cli"></a>

要通过使用 AWS CLI 删除 CEV，请运行 [delete-custom-db-engine-version](https://docs.aws.amazon.com/cli/latest/reference/rds/delete-custom-db-engine-version.html) 命令。

以下选项为必填：
+ `--engine custom-sqlserver-ee`
+ `--engine-version cev` ，其中 *cev* 是要删除的自定义引擎版本的名称

以下示例会删除名为 `15.00.4249.2.my_cevtest` 的 CEV。

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

```
1. aws rds delete-custom-db-engine-version \
2.     --engine custom-sqlserver-ee \
3.     --engine-version 15.00.4249.2.my_cevtest
```
对于 Windows：  

```
1. aws rds delete-custom-db-engine-version ^
2.     --engine custom-sqlserver-ee ^
3.     --engine-version 15.00.4249.2.my_cevtest
```