

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

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

**Description**

AMI 從Windows Server執行 SQL Server 2008 或更新版本的 EC2 執行個體建立 ，然後將 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

如果您使用的是舊版 Windows Server 與 SQL Server 2019 不相容，則自動化文件必須將您的 Windows Server 版本升級至 2016。

升級為多步驟程序，可能需要 2 小時才能完成。自動化會從執行個體建立 AMI，然後從指定 AMI中的新 啟動暫時執行個體`SubnetID`。與原始執行個體相關聯的安全群組會套用至暫時執行個體。然後，自動化會在臨時執行個體`TargetSQLVersion`上執行 就地升級。升級之後，自動化AMI會從暫時執行個體建立新的 ，然後終止暫時執行個體。

您可以在 VPC AMI中啟動新的 來測試應用程式功能。結束測試後，在執行另一次升級前，請先安排應用程式停機時間，再完全切換至已升級的執行個體。

**注意**  
如果您想要修改從新 啟動之 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 2008 R2 (或更新版本) 和 SQL Server 2008 (或更新版本) 的 Windows Server 版本。
+ 確認 SSM Agent 安裝於您的執行個體上。如需詳細資訊，請參閱[在 Windows Server 的 EC2 執行個體上安裝和設定 SSM Agent](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. 從磁碟機 E:\\ 將 ISO 的內容複製到磁碟機 D:\\

    1. 建立步驟 2 中所建立 6 GB 磁碟區的 EBS 快照。

**限制**
+ 升級僅能在使用 Windows 身分驗證的 SQL Server 上執行。
+ 確認執行個體上沒有待定的安全性修補程式更新。開啟 **Control Panel (控制面板)**，接著選擇 **Check for updates (檢查更新)**。
+ 不支援在 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 授權包含的執行個體 （使用 AWS 提供的 Amazon Machine Image for Windows Server 搭配 Microsoft SQL Server 啟動的執行個體） 而言是選用的。
+ RebootInstanceBeforeTakingImage

  類型：字串

  描述：（選用） 如果設定為 `true`，自動化會在建立預先升級 AMI 之前重新啟動執行個體。根據預設，自動化不會在升級前重新啟動。
+ TargetSQLVersion

  類型：字串

  描述：（選用） 選取目標 SQL Server 版本。

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

  預設目標：SQL Server 2016

**輸出**

AMIId：從升級至較新版本的 SQL Server 執行個體建立的 AMI ID。