创建适用于 RDS Custom for SQL Server 的 CEV - Amazon Relational Database Service

创建适用于 RDS Custom for SQL Server 的 CEV

您可以使用 AWS Management Console或 AWS CLI 创建自定义引擎版本(CEV)。然后,您可以使用 CEV 创建 RDS Custom for SQL Server 实例。

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

有关更多信息,请参阅 为 Amazon RDS Custom for SQL Server 创建并连接到数据库实例

重要

对于使用预安装的 SQL Server 创建的 AMI 和使用自带媒体(BYOM)创建的 AMI,创建 CEV 的步骤相同。

要创建 CEV
  1. 登录 AWS Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择 Custom engine versions(自定义引擎版本)。

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

  3. 选择 Create custom engine version(创建自定义引擎版本)。

  4. 对于 Engine type(引擎类型),选择 Microsoft SQL Server

  5. 对于版本,请选择要使用的数据库引擎版本。

  6. 对于 Major version(主要版本),选择在 AMI 上安装的主引擎主版本。

  7. Version details(版本详细信息)中,在 Custom engine version name(自定义引擎版本名称)中输入有效的名称。

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

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

  8. 对于 Installation Media(安装介质),浏览或输入您想要从中创建 CEV 的 AMI ID。

  9. Tags (标签)部分中,添加任何标签以标识 CEV。

  10. 选择 Create custom engine version(创建自定义引擎版本)。

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

要使用 AWS CLI 创建 CEV,请运行 create-custom-db-engine-version 命令。

以下选项为必填:

  • --engine

  • --engine-version

  • --image-id

您还可以指定以下选项:

  • --description

  • --region

  • --tags

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

对于 Linux、macOS 或 Unix:

aws rds create-custom-db-engine-version \ --engine custom-sqlserver-ee \ --engine-version 15.00.4249.2.my_cevtest \ --image-id ami-0r93cx31t5r596482 \ --description "Custom SQL Server EE 15.00.4249.2 cev test"

以下部分输出显示了引擎、参数组和其他信息。

"DBEngineVersions": [ { "Engine": "custom-sqlserver-ee", "MajorEngineVersion": "15.00", "EngineVersion": "15.00.4249.2.my_cevtest", "DBEngineDescription": "Microsoft SQL Server Enterprise Edition for RDS Custom for SQL Server", "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" ], "CreateTime": "2022-11-20T19:30:01.831000+00:00", "SupportsLogExportsToCloudwatchLogs": false, "SupportsReadReplica": false, "Status": "pending-validation", "SupportsParallelQuery": false, "SupportsGlobalDatabases": false, "TagList": [] } ]

如果创建 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 错误故障排除

从 CEV 创建 RDS Custom for SQL Server 数据库实例

成功创建 CEV 后,CEV status(CEV 状态)将显示 pending-validation。现在,您可以使用 CEV 创建新的 RDS Custom for SQL Server 数据库实例。要从 CEV 创建新的 RDS Custom for SQL Server 数据库实例,请参阅 创建 RDS Custom for SQL Server 数据库实例

CEV 的生命周期

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

failed

此 CEV 的创建数据库实例步骤在可验证 AMI 之前失败。或者,CEV 使用的底层 AMI 不处于可用状态。

排查系统无法创建数据库实例的根本原因。查看详细的错误消息并尝试再次创建新的数据库实例。确保 CEV 使用的底层 AMI 处于可用状态。

incompatible-image-configuration

验证 AMI 时出错。

查看错误的技术详细信息。您无法再次尝试使用此 CEV 验证 AMI。查看以下部分:建议:

  • 确保使用所需的 SQL Server 命名模式命名 CEV:主要版本 + 次要版本 + 自定义字符串

  • 确保 CEV 名称中的 SQL Server 版本与 AMI 提供的版本相匹配。

  • 确保操作系统编译版本满足最低要求的编译版本。

  • 确保操作系统主版本满足最低要求的主要版本。

使用正确的信息创建新的 CEV。

如果需要,使用支持的 AMI 创建一个新的 EC2 实例,并在其上运行 Sysprep 进程。