

# Criar uma versão de mecanismo personalizada para RDS para SQL Server
<a name="sqlserver-dev-edition.creating-cev"></a>

Uma versão de mecanismo personalizada (CEV) para o RDS para SQL Server consiste na mídia de instalação do SQL Server Developer Edition importada para o Amazon RDS. É necessário fazer upload do instalador ISO básico e dos arquivos de atualização cumulativa (.exe) em seu bucket do Amazon S3. Depois de fazer upload, você deve fornecer a localização do Amazon S3 ao RDS para que ele baixe, valide e, posteriormente, crie a CEV.

## Limitações de nomenclatura
<a name="sqlserver-dev-edition.create-cev.naming-limitations"></a>

Ao criar uma CEV, você deve seguir convenções de nomenclatura específicas:
+ O nome da CEV deve seguir o padrão `major-version.minor-version.customized-string`.
+ `customized-string` pode conter de 1 a 50 caracteres alfanuméricos, sublinhados, travessões e pontos. Por exemplo: `17.00.4045.5.my-dev-cev` para SQL Server 2025.

Para listar todas as versões de mecanismo compatíveis com o Developer Edition (recursos do Enterprise Edition), execute o seguinte comando da AWS CLI:

```
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, DBEngineDescription: DBEngineDescription, DBEngineVersionDescription: DBEngineVersionDescription}}"

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

Para listar todas as versões de mecanismo compatíveis com o Developer Edition (recursos do Standard Edition), execute o seguinte comando da AWS CLI:

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

{
    "DBEngineVersions": [
        {
            "Engine": "sqlserver-dev-se",
            "EngineVersion": "{{17.00.4045.5.v1}}",
            "Status": "requires-custom-engine-version",
            "DBEngineDescription": "Microsoft SQL Server Standard Developer Edition",
            "DBEngineVersionDescription": "SQL Server 2025 17.00.4045.5.v1"
        }
    ]
}
```

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

**Para criar uma versão personalizada do mecanismo para o Developer Edition (recursos da Enterprise Edition)**
+ Use o comando [create-custom-db-engine-version](https://docs.aws.amazon.com/cli/latest/reference/rds/create-custom-db-engine-version.html).

  São necessárias as seguintes opções:
  + `--engine`
  + `--engine-version`
  + `--database-installation-files-s3-bucket-name`
  + `--database-installation-files`
  + `--region`

  Também é possível especificar as seguintes opções:
  + `--database-installation-files-s3-prefix`
  + `--description`
  + `--tags`

  ```
  aws rds create-custom-db-engine-version \
  --engine sqlserver-dev-ee \
  --engine-version {{17.00.4045.5.cev-dev-ss2025-cu5}} \
  --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 "SQLServer2025-x64-ENU-EntDev.iso" "SQLServer2025-KB5084896-x64.exe"
  ```

**Para criar uma versão personalizada do mecanismo para o Developer Edition (recursos da Standard Edition)**
+ Use o comando [create-custom-db-engine-version](https://docs.aws.amazon.com/cli/latest/reference/rds/create-custom-db-engine-version.html) com `--engine sqlserver-dev-se`.

  ```
  aws rds create-custom-db-engine-version \
  --engine sqlserver-dev-se \
  --engine-version {{17.00.4045.5.cev-dev-se-ss2025-cu5}} \
  --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 "SQLServer2025-x64-ENU-StdDev.iso" "SQLServer2025-KB5084896-x64.exe"
  ```

A criação da CEV normalmente leva de 15 a 30 minutos. Para monitorar o andamento da criação da CEV, use o seguinte comando:

```
# For Developer Edition (Enterprise Edition capabilities)
aws rds describe-db-engine-versions \
--engine sqlserver-dev-ee \
--engine-version {{17.00.4045.5.my-dev-cev}} \
--region us-west-2

# For Developer Edition (Standard Edition capabilities)
aws rds describe-db-engine-versions \
--engine sqlserver-dev-se \
--engine-version {{17.00.4045.5.my-dev-se-cev}} \
--region us-west-2
```

## Ciclo de vida de uma CEV do RDS para SQL Server
<a name="sqlserver-dev-cev-lifecycle"></a>

Ao trabalhar com o SQL Server Developer Edition no RDS para SQL Server, suas versões do mecanismo personalizado passam por vários estados do ciclo de vida.


| Estado do ciclo de vida | Descrição | Quando ocorre | Ações disponíveis | 
| --- | --- | --- | --- | 
| pending-validation | Estado inicial quando a CEV é criada. | Esse é o estado inicial após a criação com o comando `create-custom-db-engine-version`. | Monitorar o status via `describe-db-engine-version`. | 
| validar | Status da validação da CEV | O Amazon RDS está validando a versão personalizada do mecanismo (CEV). Esse processo assíncrono pode levar algum tempo para ser concluído. | Monitore o status até que a validação seja concluída. | 
| available | A validação da versão do mecanismo personalizada (CEV) foi concluída com êxito. | A versão personalizada do mecanismo (CEV) já está disponível. O Amazon RDS validou com êxito seus arquivos de atualização cumulativa e ISO do SQL Server. Agora é possível criar instâncias de banco de dados usando essa CEV. | Criar instâncias de banco de dados usando essa CEV. | 
| falha | O RDS para SQL Server não pode criar a versão personalizada do mecanismo (CEV) porque a verificação de validação falhou. | Falha na validação de ISO e mídia cumulativa.  | Falha na validação do ISO. Confira o motivo da falha em `describe-db-engine-version`, corrija qualquer problema de arquivo, como incompatibilidade de hash ou conteúdo corrompido, e recrie sua versão personalizada do mecanismo (CEV). | 
| excluindo | A versão personalizada do mecanismo (CEV) é excluída | Depois que o cliente chama `delete-custom-db-engine-version` até a conclusão do fluxo de trabalho de exclusão. | Monitorar o status via `describe-db-engine-version`. | 
| incompatible-installation-media | O Amazon RDS não conseguiu validar a mídia de instalação fornecida para a versão personalizada do mecanismo (CEV). | A validação da versão personalizada do mecanismo (CEV) falhou. Este é um estado terminal. | Consulte failureReason via `describe-db-engine-versions` para acessar informações sobre por que a validação falhou; exclua a CEV. | 

### Descrever o status da CEV.
<a name="sqlserver-dev-cev-status-check"></a>

É possível ver o status das suas CEVs usando o AWS CLI:

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

Para Developer Edition (recursos do Standard Edition), substitua `sqlserver-dev-ee` por `sqlserver-dev-se`.

Exemplo de resultado

```
| DescribeDBEngineVersions                          |
+------------+--------------------------------------+
| Status | Version                                  |
+------------+--------------------------------------+
| available | 17.00.4045.5.cev-dev-ss2025-cu5         |
+------------+--------------------------------------+
```

Quando uma CEV mostra o status `failed`, você pode determinar o motivo usando o seguinte comando:

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