

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

# 為 RDS for SQL Server 建立自訂引擎版本
<a name="sqlserver-dev-edition.creating-cev"></a>

RDS for SQL Server 的自訂引擎版本 (CEV) 包含匯入 Amazon RDS 的 SQL Server Developer Edition 安裝媒體。必須將基本 ISO 安裝程式和累積更新檔案 (.exe) 上傳至您的 Amazon S3 儲存貯體。上傳後，您應該將 Amazon S3 位置提供給 RDS，以便下載、驗證和後續建立 CEV。

## 命名限制
<a name="sqlserver-dev-edition.create-cev.naming-limitations"></a>

建立 CEV 時，您必須遵循特定的命名慣例：
+ CEV 名稱必須遵循模式 `major-version.minor-version.customized-string`。
+ `customized-string` 可包含 1-50 個英數字元、底線、破折號和句點。例如：`16.00.4215.2.my-dev-cev`適用於 SQL Server 2022。

若要列出所有支援的引擎版本，請使用下列命令：

```
aws rds describe-db-engine-versions --engine sqlserver-dev-ee --output json --query "{DBEngineVersions: DBEngineVersions[?Status=='requires-custom-engine-version'].{Engine: Engine, EngineVersion: EngineVersion, Status: Status, DBEngineVersionDescription: DBEngineVersionDescription}}" 

{
    "DBEngineVersions": [
        {
            "Engine": "sqlserver-dev-ee",
            "EngineVersion": "16.00.4215.2.v1",
            "Status": "requires-custom-engine-version",
            "DBEngineDescription": "Microsoft SQL Server Enterprise Developer Edition",
            "DBEngineVersionDescription": "SQL Server 2022 16.00.4215.2.v1"
        }
    ]
}
```

## AWS CLI
<a name="sqlserver-dev-edition.create-cev.CLI"></a>

**建立自訂引擎版本**
+ 使用 [create-custom-db-engine-version](https://docs.aws.amazon.com/cli/latest/reference/rds/create-custom-db-engine-version.html) 命令。

  下列選項是必要的：
  + `--engine`
  + `--engine-version`
  + `--database-installation-files-s3-bucket-name`
  + `--database-installation-files`
  + `--region`

  您還可以指定下列選項：
  + `--database-installation-files-s3-prefix`
  + `--description`
  + `--tags`

  ```
  aws rds create-custom-db-engine-version \
  --engine sqlserver-dev-ee \
  --engine-version 16.00.4215.2.cev-dev-ss2022-cu21 \
  --region us-west-2 \
  --database-installation-files-s3-bucket-name my-s3-installation-media-bucket \
  --database-installation-files-s3-prefix sqlserver-dev-media \
  --database-installation-files "SQLServer2022-x64-ENU-Dev.iso" "SQLServer2022-KB5065865-x64.exe"
  ```

CEV 建立通常需要 15-30 分鐘。若要監控 CEV 建立進度，請使用下列命令：

```
# Check CEV status
aws rds describe-db-engine-versions \
--engine sqlserver-dev-ee \
--engine-version 16.00.4215.2.my-dev-cev \
--region us-west-2
```

## RDS for SQL Server CEV 的生命週期
<a name="sqlserver-dev-cev-lifecycle"></a>

在 RDS for SQL Server 上使用 SQL Server Developer Edition 時，您的自訂引擎版本會轉換到各種生命週期狀態。


| 生命週期狀態 | Description | 當它發生時 | 可用的動作 | 
| --- | --- | --- | --- | 
|  待驗證  |  建立 CEV 時的初始狀態  |  這是使用 `create-custom-db-engine-version`命令建立之後的初始狀態。  |  透過 監控狀態`describe-db-engine-version`。  | 
|  validating  |  CEV 驗證狀態  |  Amazon RDS 正在驗證您的自訂引擎版本 (CEV)。此非同步程序可能需要一些時間才能完成。  |  監控狀態，直到驗證完成為止。  | 
|  有用  |  自訂引擎版本 (CEV) 驗證已成功完成。  |  自訂引擎版本 (CEV) 現已推出。Amazon RDS 已成功驗證您的 SQL Server ISO 和累積更新檔案。您現在可以使用此 CEV 建立資料庫執行個體。  |  使用此 CEV 建立資料庫執行個體  | 
|  失敗  |  RDS for SQL Server 無法建立自訂引擎版本 (CEV)，因為驗證檢查失敗。  |  ISO 和累積媒體驗證失敗。   |  ISO 驗證失敗。檢查 中的失敗原因`describe-db-engine-version`，修正雜湊不相符或內容損毀等任何檔案問題，然後重新建立自訂引擎版本 (CEV)。  | 
|  正在刪除  |  自訂引擎版本 (CEV) 正在刪除  |  客戶呼叫 後，`delete-custom-db-engine-version`直到刪除工作流程完成為止。  |  透過 監控狀態`describe-db-engine-version`。  | 
|  incompatible-installation-media  |  Amazon RDS 無法驗證為自訂引擎版本 (CEV) 提供的安裝媒體  |  自訂引擎版本 (CEV) 驗證失敗。這是一個終端狀態。  |  如需驗證失敗原因的資訊`describe-db-engine-versions`，請參閱 failureReason via；刪除 CEV。  | 

### 描述 CEV 狀態
<a name="sqlserver-dev-cev-status-check"></a>

您可以使用 查看 CEVs 的狀態AWS CLI：

```
1. aws rds describe-db-engine-versions \
2. --engine sqlserver-dev-ee \
3. --engine-version 16.00.4215.2.my-dev-cev \
4. --region us-west-2 \
5. --query 'DBEngineVersions[0].{Version:EngineVersion,Status:Status}'
```

範例輸出

```
| DescribeDBEngineVersions                     |
+------------+---------------------------------+
| Status | Version                             |
+------------+---------------------------------+
| available | 16.00.4215.2.cev-dev-ss2022-cu21    |
+------------+---------------------------------+
```

當 CEV 顯示`failed`狀態時，您可以使用下列命令來判斷原因：

```
1. aws rds describe-db-engine-versions \
2. --engine sqlserver-dev-ee \
3. --engine-version 16.00.4215.2.my-dev-cev \
4. --region us-west-2 \
5. --query 'DBEngineVersions[0].{Version:EngineVersion,Status:Status,FailureReason:FailureReason}'
```