

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# `AWSEC2-CloneInstanceAndUpgradeSQLServer`
<a name="automation-awsec2-CloneInstanceAndUpgradeSQLServer"></a>

**描述**

创建一个 AMI 来自一个 EC2 实例 Windows Server 运行 SQL Server 2008 或更高版本，然后将 AMI 升级到更高版本的 SQL Server。仅支持英文版本的 SQL Server。

支持的升级路径如下所示：
+ SQL Server 2008 到 SQL Server 2017、2016 或 2014
+ SQL Server 2008 R2 到 SQL Server 2017、2016 或 2014
+ SQL Server 2012 到 SQL Server 2019、2017、2016 或 2014
+ SQL Server 2014 到 SQL Server 2019、2017 或 2016
+ SQL Server 2016 到 SQL Server 2019 或 2017

如果您使用的是与 SQL Server 2019 不兼容的早期版本 Windows Server，则自动化文档必须将你的 Windows Server 版本升级到 2016。

升级是一个多步骤过程，可能需要 2 个小时才能完成。自动化会从该实例创建 AMI，然后从新实例启动临时实例 AMI 在指定的`SubnetID`。与您的原始实例关联的安全组将应用于临时实例。Automation 在临时实例上执行到 `TargetSQLVersion` 的就地升级。升级后，自动化会创建新的 AMI 从临时实例，然后终止临时实例。

您可以通过启动新应用程序来测试应用程序的功能 AMI 在你的 VPC 中。完成测试后，在执行下一次升级之前，请先计划应用程序停机时间，然后再完全切换到升级后的实例。

**注意**  
如果你想修改从新启动的 EC2 实例的计算机名 AMI ，请参见[重命名托管 SQL Server 独立实例的计算机](https://docs.microsoft.com/en-us/sql/database-engine/install-windows/rename-a-computer-that-hosts-a-stand-alone-instance-of-sql-server?view=sql-server-2017)。

[运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/automation/execute/AWSEC2-CloneInstanceAndUpgradeSQLServer)

**文档类型**

自动化

**所有者**

Amazon

**平台**

Windows

**参数**

**先决条件**
+ TLS 版本 1.2。
+ 仅支持英文版本的 SQL Server。
+ 该 EC2 实例必须使用一个版本 Windows Server 那是 Windows Server 2008 年 R2（或更高版本）和 SQL Server 2008（或更高版本）。
+ 验证实例上是否安装了 SSM Agent。有关更多信息，请参阅在 [Windows 服务器 EC2 实例上安装和配置 SSM 代理](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-ssm-win.html)。
+ 将实例配置为使用 AWS Identity and Access Management (IAM) 实例配置文件角色。有关更多信息，请参阅[为 Systems Manager 创建 IAM 实例配置文件](https://docs.aws.amazon.com/systems-manager/latest/userguide/setup-instance-profile.html)。
+ 验证实例的实例启动盘具有 20 GB 的可用磁盘空间。
+ 对于使用自带许可 (BYOL) SQL Server 版本的实例，以下额外的先决条件适用：
  + 提供包含目标 SQL Server 安装介质的 EBS 快照 ID。要实现此目的，应按照以下步骤进行：

    1. 确认该 EC2 实例运行的是 Windows Server 2008 R2 或更高版本。

    1. 在运行实例的同一可用区中创建一个 6 GB 的 EBS 卷。将卷附加到实例。例如，将其附加为驱动器 D。

    1. 例如，右键单击 ISO 并将其挂载为实例的驱动器 E。

    1. 将 ISO 的内容从驱动器 E:\\ 复制到驱动器 D:\\

    1. 创建在步骤 2 中创建的 6 GB 卷的 EBS 快照。

**限制**
+ 只能在使用 Windows 身份验证的 SQL Server 上执行升级。
+ 验证实例上没有待处理的安全补丁更新。打开**控制面板**，然后选择**检查更新**。
+ 不支持 HA 和镜像模式下的 SQL Server 部署。

**参数**
+ IamInstanceProfile

  类型：字符串

  说明：（必需）IAM 实例配置文件。
+ InstanceId

  类型：字符串

  描述：（必填）正在运行的实例 Windows Server 2008 年 R2（或更高版本）和 SQL Server 2008（或更高版本）。
+ KeepPreUpgradeImageBackUp

  类型：字符串

  说明：（可选）如果设置为 `true`，则自动化不会删除在升级之前从实例中创建的 AMI。如果设置为 `true`，则必须由您删除此 AMI。默认情况下，将删除此 AMI。
+ SubnetId

  类型：字符串

  说明：（必需）为升级过程提供子网。验证子网是否具有与 AWS 服务、Amazon S3 和 Microsoft 的出站连接（用于下载补丁）。
+ SQLServerSnapshotId

  类型：字符串

  说明：（视情况而定）SQL Server 安装介质的快照 ID。对于使用 BYOL SQL Server 版本的实例，该参数是必需的。对于包含许可证的 SQL Server 实例（使用为微软 SQL Server 提供的适用于 Windows 服务器的 AWS 亚马逊系统映像启动的实例），此参数是可选的。
+ RebootInstanceBeforeTakingImage

  类型：字符串

  说明：（可选）如果设置为 `true`，则自动化在创建预升级 AMI 之前重新引导实例。默认情况下，自动化在升级前不重启。
+ 目标 SQLVersion

  类型：字符串

  描述：（可选）选择目标 SQL Server 版本。

  可能的目标：
  + SQL Server 2019
  + SQL Server 2017
  + SQL Server 2016
  + SQL Server 2014

  默认目标：SQL Server 2016

**输出**

AMIId：从升级到更高版本的 SQL Server 的实例创建的 AMI 的 ID。