

# Creación de una versión de motor personalizado para RDS para SQL Server
<a name="sqlserver-dev-edition.creating-cev"></a>

Una versión de motor personalizada (CEV) para RDS para SQL Server se compone de medios de instalación de SQL Server Developer Edition importados a Amazon RDS. Es necesario cargar el instalador ISO básico y los archivos de actualización acumulativa (.exe) en su bucket de Amazon S3. Una vez cargado, debe proporcionar la ubicación de Amazon S3 a RDS para que descargue, valide y, posteriormente, cree su CEV.

## Limitaciones de nomenclatura
<a name="sqlserver-dev-edition.create-cev.naming-limitations"></a>

Al crear una CEV, debe seguir convenciones de nomenclatura específicas:
+ El nombre de la CEV debe seguir el patrón `major-version.minor-version.customized-string`.
+ `customized-string` puede contener de 1 a 50 caracteres alfanuméricos, guiones bajos, guiones y puntos. Por ejemplo: `17.00.4045.5.my-dev-cev` para SQL Server 2025.

Para obtener una lista de todas las versiones de motor compatibles para Developer Edition (capacidades de Enterprise Edition), use el siguiente comando 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 obtener una lista de todas las versiones de motor compatibles para Developer Edition (capacidades de Enterprise Edition), use el siguiente comando 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>

**Creación de una versión de motor personalizada para Developer Edition (capacidades de Enterprise Edition)**
+ Utilice el comando [create-custom-db-engine-version](https://docs.aws.amazon.com/cli/latest/reference/rds/create-custom-db-engine-version.html).

  Se requieren las siguientes opciones:
  + `--engine`
  + `--engine-version`
  + `--database-installation-files-s3-bucket-name`
  + `--database-installation-files`
  + `--region`

  También puede especificar las siguientes opciones:
  + `--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"
  ```

**Creación de una versión de motor personalizada para Developer Edition (capacidades de Standard Edition)**
+ Utilice el comando [create-custom-db-engine-version](https://docs.aws.amazon.com/cli/latest/reference/rds/create-custom-db-engine-version.html) con `--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"
  ```

La creación de la CEV suele tardar entre quince y treinta minutos. Para supervisar el progreso de creación de CEV, utilice el siguiente 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 una CEV de RDS para SQL Server
<a name="sqlserver-dev-cev-lifecycle"></a>

Al trabajar con SQL Server Developer Edition en RDS para SQL Server, las versiones personalizadas del motor pasan por varios estados del ciclo de vida.


| Estado del ciclo de vida | Descripción | Cuando ocurre | Acciones disponibles | 
| --- | --- | --- | --- | 
| pending-validation | Estado inicial cuando se crea la CEV | Este es el estado inicial tras la creación con el comando `create-custom-db-engine-version`. | Supervisión del estado a través de `describe-db-engine-version`. | 
| validating | Estado de validación de la CEV | Amazon RDS valida la versión personalizada del motor (CEV). Este proceso asíncrono puede tardar un tiempo en completarse. | Supervise el estado hasta que se complete la validación. | 
| available | La validación de la versión personalizada del motor (CEV) se ha completado correctamente. | La versión personalizada del motor (CEV) ya está disponible. Amazon RDS ha validado correctamente los archivos de actualización acumulativa e ISO de SQL Server. Ahora puede crear instancias de base de datos con esta CEV. | Creación de instancias de base de datos con esta CEV | 
| error | RDS para SQL Server no puede crear la versión personalizada del motor (CEV) al no haberse podido realizar la comprobación de validación. | Error en la validación de ISO y medios acumulativos.  | Error en la validación de ISO. Compruebe el motivo del error en `describe-db-engine-version`, corrija cualquier problema con los archivos, como discordancias del hash o contenido dañado, y, a continuación, vuelva a crear su versión personalizada del motor (CEV). | 
| deleting | Se elimina la versión personalizada del motor (CEV). | Tras la llamada del cliente a `delete-custom-db-engine-version` y hasta la finalización del flujo de trabajo de eliminación. | Supervisión del estado a través de `describe-db-engine-version`. | 
| incompatible-installation-media | Amazon RDS no ha podido validar los medios de instalación proporcionados para la versión personalizada del motor (CEV) | Se ha producido un error en la validación de la versión personalizada del motor (CEV). Se trata de un estado terminal. | Consulte failureReason a través de `describe-db-engine-versions` para obtener información sobre el motivo del error de validación; elimine la CEV. | 

### Descripción del estado de CEV
<a name="sqlserver-dev-cev-status-check"></a>

Puede ver el estado de las CEV con la 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 (capacidades de Standard Edition), sustituya `sqlserver-dev-ee` por `sqlserver-dev-se`.

Resultados de ejemplo

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

Si una CEV muestra el estado `failed`, puede determinar el motivo mediante el siguiente 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}'
```