

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

# 建立和管理 RDS for SQL Server 的 BYOM 引擎版本
<a name="sqlserver-byom-creating-cev"></a>

建立 BYOM 引擎版本需要一次性設定 （授權行動性驗證、取得 RTM 媒體，以及將其上傳至 S3)。設定之後，您可以使用 Amazon RDS 主控台或 CLI AWS 建立引擎版本。

## 開始之前
<a name="sqlserver-byom-creating-cev.before-you-begin"></a>

### 步驟 1：完成 Microsoft License Mobility 驗證
<a name="sqlserver-byom-creating-cev.step1"></a>

BYOM 需要透過軟體保證的授權行動性。在 SQL Server 授權上部署 SQL Server 授權之前，您必須擁有有效的軟體保證涵蓋範圍 AWS。

若要完成驗證程序：

1. **檢閱資格** 請造訪[AWS 授權行動性頁面](https://aws.amazon.com/windows/resources/licensemobility/)，以檢閱需求和資格條件。

1. **提交驗證表單** 下載並完成 [Microsoft License Mobility 驗證表單](https://www.microsoft.com/en-us/licensing/licensing-programs/software-assurance-license-mobility.aspx)。透過授權合作夥伴或直接將表單提交給 Microsoft。

1. **等待核准** 當您的驗證獲得核准時，Microsoft 會傳送確認電子郵件給您。

您必須在產品送達後的 10 天內，直接或透過 Microsoft 經銷商提交表單給 Microsoft AWS。

**重要**  
AWS 不會驗證或強制執行 Microsoft 授權合規。您有責任維持 Microsoft 授權合約的合規性。

### 步驟 2：取得 SQL Server 安裝媒體
<a name="sqlserver-byom-creating-cev.step2"></a>

針對您要使用的 SQL Server 主要版本，下載發行到製造 (RTM) 檔案。RTM 檔案是 SQL Server 主要版本 （例如 SQL Server 2019 Enterprise Edition) 的基本安裝媒體。

您可以從下列其中一個 Microsoft 來源取得 RTM 檔案：
+ **Visual Studio 訂閱** 如果您有作用中的 Visual Studio 訂閱，請從[訂閱者下載頁面下載](https://visualstudio.microsoft.com/subscriptions/) RTM 檔案。
+ **Microsoft 365 管理中心** 如果您透過大量授權購買產品，請從 [Microsoft 365 管理中心下載頁面下載](https://admin.microsoft.com) RTM 檔案。

**重要**  
僅下載英文核心型 ISO 檔案。請勿使用 Server\+CAL 型 ISO 檔案。

### 步驟 3：將安裝媒體上傳至 Amazon S3
<a name="sqlserver-byom-creating-cev.step3"></a>

將 SQL Server RTM 檔案上傳至您計劃建立 BYOM 引擎版本的相同 AWS 區域和帳戶中的 Amazon S3 儲存貯體。若要使用 CLI AWS 上傳 RTM 檔案：

```
aws s3 cp SQLServer2022-x64-ENU-Enterprise.iso s3://my-sqlserver-media/ISOs/
```

**注意**  
如果您在 BYOM 引擎建立期間未提供累積更新 (CU) 檔案，Amazon RDS 會在您建立引擎版本時自動從 Microsoft 下載所需的 CU。

## 建立 BYOM 引擎版本
<a name="sqlserver-byom-creating-cev.creating"></a>

使用 `describe-db-engine-versions` 來驗證哪些引擎版本符合建立 BYOM 引擎版本的資格。如需支援的版本，請檢閱 [為 RDS for SQL Server 使用您自己的媒體 (BYOM)](sqlserver-byom.md)。

### 主控台
<a name="sqlserver-byom-creating-cev.console"></a>

1. 登入 [AWS 管理主控台](https://console.aws.amazon.com/rds/)並開啟 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Custom engine versions** (自訂引擎版本)。

1. 從下拉式清單中選取 **RDS for SQL Server**。

1. 選擇 **Create custom engine version** (建立自訂引擎版本)。

1. 針對**引擎類型**，選擇 **SQL Server**。

1. 請為**資料庫管理類型**選擇 **Amazon RDS**。

1. 針對**版本**，選擇下列其中一項：
   + SQL Server Enterprise Edition
   + SQL Server Standard Edition

1. 針對**引擎版本**，選擇與您的安裝檔案相符的 SQL Server 版本 （例如 SQL Server 2022)`16.00.4175.1.v1`。

1. 針對**安裝媒體**，輸入包含 SQL Server RTM 媒體的 S3 URI，或選擇**瀏覽 S3** 以尋找並選取檔案。

1. 選擇 **Create custom engine version** (建立自訂引擎版本)。

主控台會顯示初始狀態為**待驗證**的新 BYOM 引擎版本。狀態會自動進行。如需詳細資訊，請參閱[BYOM 引擎版本生命週期狀態](#sqlserver-byom-creating-cev.lifecycle)。

### CLI
<a name="sqlserver-byom-creating-cev.cli"></a>

使用 `create-custom-db-engine-version`命令，從您的安裝媒體建立 BYOM 引擎版本。Amazon RDS 會自動從 Microsoft 下載必要的累積更新。

```
aws rds create-custom-db-engine-version \
    --engine sqlserver-ee \
    --engine-version 16.00.4175.1.v1 \
    --database-installation-files-s3-bucket-name my-sqlserver-media \
    --database-installation-files-s3-prefix "ISOs/" \
    --database-installation-files "SQLServer2022-x64-ENU-Enterprise.iso"
```

**回應**

```
{
    "Engine": "sqlserver-ee",
    "MajorEngineVersion": "16.00",
    "EngineVersion": "16.00.4175.1.v1",
    "DatabaseInstallationFiles": [
        "SQLServer2022-x64-ENU-Enterprise.iso"
    ],
    "DBEngineDescription": "Microsoft SQL Server Enterprise Edition",
    "DBEngineVersionArn": "arn:aws:rds:us-east-1:123456789012:cev:sqlserver-ee/16.00.4175.1.v1/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
    ....
    "Status": "pending-validation",
    .....
}
```

**CLI 參數**


| 參數 | 必要 | 描述 | 
| --- | --- | --- | 
| --engine | 是 | 資料庫引擎類型：sqlserver-ee、sqlserver-se。 | 
| --engine-version | 是 | 目標引擎版本 （例如 16.00.4175.1.v1)。 | 
| --database-installation-files-s3-bucket-name | 是 | 包含安裝媒體的 S3 儲存貯體名稱。儲存貯體必須與 BYOM 引擎版本位於相同的 AWS 區域。 | 
| --database-installation-files-s3-prefix | 否 | 存放安裝媒體檔案的 S3 金鑰字首 （資料夾路徑）。 | 
| --database-installation-files | 是 | 安裝媒體的檔案名稱。 | 

**注意**  
使用 AWS CLI 時，只有您為主要版本和版本建立的第一個 BYOM 引擎版本需要 `--database-installation-files-s3-bucket-name``--database-installation-files-s3-prefix`、 和 `--database-installation-files` 參數。對於相同主要版本中的後續次要版本，只需要 `--engine-version` `--engine`和 。

## 描述 BYOM 引擎版本
<a name="sqlserver-byom-creating-cev.describing"></a>

建立 BYOM 引擎版本後，請使用 `describe-db-engine-versions`檢查其狀態和詳細資訊。輸出會傳回相同引擎版本的兩個記錄：一個用於已包含授權 (`DBEngineMediaType: None`)，另一個用於 BYOM ()`DBEngineMediaType: Customer Provided`。

**範例**：

```
aws rds describe-db-engine-versions \
    --engine sqlserver-ee \
    --engine-version 16.00.4175.1.v1 \
    --include-all \
    --output table \
    --query "DBEngineVersions[].{Engine: Engine, Version: EngineVersion, Status: Status, MediaType: DBEngineMediaType}"
```

**回應：**

```
-----------------------------------------------------------------------
|                      DescribeDBEngineVersions                       |
+--------------+---------------------+------------+-------------------+
|    Engine    |      MediaType      |  Status    |      Version      |
+--------------+---------------------+------------+-------------------+
|  sqlserver-ee|  None               |  available |  16.00.4175.1.v1  |
|  sqlserver-ee|  Customer Provided  |  available |  16.00.4175.1.v1  |
+--------------+---------------------+------------+-------------------+
```

## BYOM 引擎版本生命週期狀態
<a name="sqlserver-byom-creating-cev.lifecycle"></a>


| State | 說明 | 
| --- | --- | 
| pending-validation | RDS 接受請求並將其排入佇列進行處理。 | 
| validating | RDS 正在驗證 RTM 媒體檔案。 | 
| creating | RDS 正在從 RTM 媒體檔案安裝 SQL Server。 | 
| available | BYOM 引擎版本已準備好建立執行個體。 | 
| incompatible\_installation\_media | 安裝檔案無效或損毀。這是一個終端狀態。刪除 BYOM 引擎版本，並使用正確的檔案重試。 | 

## 修改 BYOM 引擎版本
<a name="sqlserver-byom-creating-cev.modifying"></a>

您可以使用 AWS 管理主控台或 CLI 修改 BYOM AWS 引擎版本。您可以修改 BYOM 引擎版本描述或其可用性狀態。您的 BYOM 引擎版本具有下列其中一個狀態值：
+ **可用** – 您可以使用此 BYOM 引擎版本建立新的資料庫執行個體或升級資料庫執行個體。這是新建立 BYOM 引擎版本的預設狀態。
+ **非作用中** – 您無法使用此 BYOM 引擎版本建立或升級資料庫執行個體。您無法還原資料庫快照，以使用此 BYOM 引擎版本建立新的資料庫執行個體。

您可以將 BYOM 引擎版本狀態從 `available` 變更為 `inactive`，或從 `inactive`變更為 `available`。您可以變更狀態為 `inactive` ，以防止意外使用 BYOM 引擎版本，或使已停止的 BYOM 引擎版本有資格再次使用。

```
aws rds modify-custom-db-engine-version \
    --engine sqlserver-ee \
    --engine-version 16.00.4175.1.v1 \
    --status inactive
```

**回應**

```
{
    "Engine": "sqlserver-ee",
    "MajorEngineVersion": "16.00",
    "EngineVersion": "16.00.4175.1.v1",
    ....
    "Status": "inactive",
    ....
}
```

**注意**  
在您設定為非作用中的 BYOM 引擎版本上執行的現有執行個體會繼續正常運作。只有新的執行個體建立和還原操作會受到影響。

## 刪除 BYOM 引擎版本
<a name="sqlserver-byom-creating-cev.deleting"></a>

使用 `delete-custom-db-engine-version`永久移除 BYOM 引擎版本。刪除後，引擎版本會返回單一僅限 LI 的項目。

**刪除的先決條件**

在刪除 BYOM 引擎版本之前，請確定下列事項：
+ 沒有資料庫執行個體正在使用 BYOM 版本。
+ 沒有資料庫快照參考 BYOM 版本。

如果有任何 RDS 資源存在，API 會失敗刪除請求。

**刪除 BYOM 引擎版本 (CLI)**

```
aws rds delete-custom-db-engine-version \
    --engine sqlserver-ee \
    --engine-version 16.00.4175.1.v1
```

**回應**

```
{
    "Engine": "sqlserver-ee",
    "MajorEngineVersion": "16.00",
    "EngineVersion": "16.00.4175.1.v1",
    .....
    "Status": "deleting",
    ....
}
```

## 考量事項
<a name="sqlserver-byom-creating-cev.considerations"></a>
+ 您為每個主要版本提供一次 RTM ISO 檔案。相同主要版本和版本中的所有次要版本都會重複使用相同的安裝媒體。
+ 提供 SQL Server RTM for Bring Your Own Media 時，您只能使用核心型 RTM ISO 而非伺服器 \+ CAL 型 RTM ISO 檔案。

## 後續步驟
<a name="sqlserver-byom-creating-cev.next-steps"></a>

在 BYOM 引擎版本達到`available`狀態後，您可以使用它啟動 RDS for SQL Server 執行個體。請參閱[為 RDS for SQL Server 建立 BYOM 資料庫執行個體](sqlserver-byom-creating-instance.md)。