¿Cómo puedo actualizar o volver a una edición anterior del motor de SQL Server en RDS para SQL Server?

Última actualización: 20/09/2022

Quiero actualizar o volver a una edición anterior del motor de SQL Server en Relational Database Service (Amazon RDS) para SQL Server. ¿Cómo puedo hacerlo?

Descripción corta

Amazon RDS para SQL Server es compatible con las ediciones Express, Web, Standard y Enterprise. No puede realizar un cambio en la edición de SQL Server como una modificación in situ mediante la consola de RDS o la interfaz de la línea de comandos de AWS (AWS CLI).

Para actualizar su edición de SQL Server, cree una instantánea y, a continuación, restaure con la edición superior del motor. Para volver a una edición anterior, utilice uno de estos métodos:

  • Utilice la opción de copia de seguridad y restauración nativa de RDS para SQL Server.
  • Utilice AWS Database Migration Service (AWS DMS).
  • Importe y exporte datos de SQL Server con otras herramientas.

Resolución

Actualizar la edición del motor de SQL Server

Para actualizar la edición del motor de SQL Server, cree una instantánea de RDS y, a continuación, restaure desde esa instantánea. Para conocer las limitaciones de actualización, consulte Consideraciones sobre Microsoft SQL Server.

Para actualizar mediante una instantánea, siga estos pasos:

1.    Cree una instantánea de la instancia original de RDS para SQL Server.

2.    Restaure la instantánea tomada en el paso 1 para crear una nueva instancia de RDS. Cambie la edición requerida a la edición superior durante la restauración.

3.    Cambie el nombre o elimine la instancia original de RDS para SQL Server para liberar el nombre del punto de conexión DNS para volver a utilizarlo. Para obtener más información, consulte la sección Cambiar el nombre de la instancia de RDS.

Para obtener instrucciones y pasos detallados sobre la actualización de la edición Standard a la edición Enterprise, consulte Modify an Amazon RDS for SQL Server instance from Standard Edition to Enterprise Edition (Modificar una instancia de Amazon RDS para SQL Server de la edición Standard a la edición Enterprise).

Puede usar el mismo método de instantánea y restauración para estas actualizaciones:

  • De la edición Standard a la edición Enterprise
  • De la edición Web a las ediciones Standard o Enterprise
  • De la edición Express a la edición Web, la edición Standard o la edición Enterprise

Nota importante: La restauración de instantáneas al actualizar la edición crea una nueva instancia de RDS para SQL Server. La nueva instancia tiene un punto de conexión de RDS diferente al de la instancia de origen de la instantánea.

Volver a una edición anterior de SQL Server

No se admite la degradación in situ de una instancia de RDS para SQL Server de ediciones superiores a versiones inferiores debido a las limitaciones de SQL Server como producto. Sin embargo, puede cambiar a una versión anterior de su edición de RDS para SQL Server en cualquiera de estas combinaciones si sigue las opciones de solución alternativas que se mencionan más adelante:

  • De la edición Enterprise a las ediciones Standard, Web o Express
  • De la edición Standard a las ediciones Web o Express
  • De la edición Web a la edición Express

Para cambiar a una versión anterior de la edición de RDS para SQL Server, utilice una de estas opciones:

Opción 1: utilice la opción de copia de seguridad y restauración nativa en RDS para SQL Server

Nota: También puede usar esta opción para transferir bases de datos desde las ediciones inferiores a las superiores de instancias de RDS.

La copia de seguridad y restauración nativa crea una copia de seguridad completa de las bases de datos en la instancia de origen de RDS para SQL Server existente. Guarde las copias de seguridad en Amazon Simple Storage Service (Amazon S3) y luego restaure los archivos de copia de seguridad en una nueva instancia de RDS de destino.

Para cambiar de una instancia empresarial de origen a una instancia estándar de destino, siga estos pasos:

1.    Cree un nuevo RDS para SQL Server con la edición Standard de SQL Server. Esta es la nueva instancia de destino.

2.    Agregue la opción de copia de seguridad y restauración nativa en las instancias de la edición Enterprise de origen y Standard de destino.

3.    Realice una copia de seguridad de cada base de datos de usuario de la instancia de origen (Enterprise) a un bucket de S3.

4.    Ejecute la consulta sys.dm_dm_persisted_sku-features (Transact-SQL) en cada base de datos de la instancia de origen. Esta consulta comprueba si hay alguna función actualmente en uso que esté vinculada a la edición superior. Es posible que las funciones vinculadas con la edición superior no funcionen al restaurar las bases de datos en la instancia de destino de la edición inferior.

USE [database-name]
    GO
    SELECT feature_name FROM sys.dm_db_persisted_sku_features;
    GO

5.    Restaure las copias de seguridad del bucket de S3 a la instancia de RDS de destino (estándar).

6.    Asegúrese de crear los inicios de sesión y los usuarios necesarios en las bases de datos de instancias de RDS de destino. Cree también el grupo de seguridad adecuado y adjunte los grupos de parámetros y opciones apropiados. Son los mismas que los de la instancia de RDS de origen.

Nota: Puede seguir los pasos anteriores para exportar e importar bases de datos en cualquier edición de SQL Server en RDS.

Opción 2: usar AWS DMS

Nota: También puede usar esta opción para transferir bases de datos desde las ediciones inferiores a las superiores de instancias de RDS.

Utilice AWS DMS para migrar sus bases de datos. AWS DMS también replica los cambios en curso de la instancia de edición superior (el punto de conexión de origen) a la instancia de edición inferior (el punto de conexión de destino).

AWS DMS permite la replicación unidireccional, la carga masiva de tablas y captura los cambios en los datos (si lo admiten las versiones de RDS de origen y destino para las instancias de SQL Server).

Para obtener más información, consulte estos temas:

Opción 3: importar y exportar datos de SQL Server mediante otras herramientas

Puede utilizar estas herramientas adicionales para importar y exportar la base de datos:

  • Asistente de importación y exportación de SQL Server
  • Asistente para generar y publicar scripts
  • Copia masiva (utilidad bcp)

La instancia con la edición inferior de SQL Server debe crearse y estar activa antes de usar estas herramientas.

Tenga en cuenta que estas herramientas requieren más esfuerzo que la copia de seguridad y la restauración nativa o AWS DMS. Es posible que experimente varios errores de coherencia o integridad de los datos que se deben corregir. Estos errores se producen al mover datos con estas herramientas. Pruebe minuciosamente el proceso en un entorno de prueba antes de decidir utilizar una de estas herramientas.

  • Asistente de importación y exportación de SQL Server: copie y cree el esquema de las bases de datos y el objeto de la instancia de origen en la instancia de destino. A continuación, utilice este asistente para copiar una o más tablas, vistas o consultas de una instancia de base de datos de RDS para SQL Server a otro almacén de datos. Para obtener más información, consulte Asistente de importación y exportación de SQL Server.
  • Asistente para generar y publicar scripts de SQL Server y utilidad bcp: utilice el asistente para generar y publicar scripts de SQL Server y crear scripts para una base de datos completa o para objetos seleccionados. Puede ejecutar estos scripts en una instancia de base de datos de SQL Server de destino para recrear los objetos con scripts. A continuación, utilice la utilidad bcp para exportar de forma masiva los datos de los objetos seleccionados a la instancia de base de datos de destino. Ejecute la utilidad bcp desde una instancia de Amazon Elastic Compute Cloud (Amazon EC2) que tenga conectividad con las instancias de RDS de origen y destino. Para obtener más información, consulte Asistente para generar y publicar scripts y utilidad bcp de SQL Server.

Nota: Todas las opciones mencionadas en esta sección también se pueden usar para migrar bases de datos de instancias de RDS para SQL Server de una edición inferior a una edición superior. Sin embargo, el enfoque que se explica en la sección Actualizar la edición de SQL Server es más sencillo. Decidir qué opción usar depende de factores como el tiempo de inactividad, el esfuerzo, la complejidad involucrada, etc.

Cambiar el nombre de la instancia de RDS

Las opciones descritas para actualizar o volver a una edición anterior de RDS para SQL Server siempre dan como resultado la creación de una nueva instancia de RDS de destino. La nueva instancia de RDS tiene un punto de conexión de DNS de RDS diferente al de la instancia RDS de origen existente.

A veces, al actualizar el nuevo punto de conexión de RDS en todas las aplicaciones y otros servicios, se pierde la actualización de la cadena de conexión en uno o más de estos componentes. Cuando esto ocurre, es posible que surjan problemas tras el cambio de edición de la instancia de RDS para SQL Server.

Para evitarlo, considere cambiar el nombre de las instancias de RDS de origen y de destino. Al cambiar el nombre, se garantiza que la instancia de la edición de destino tenga el mismo punto de conexión de DNS de RDS que el de la instancia de edición de origen original.

De este modo, se evita realizar cambios en las cadenas de conexión de las aplicaciones o servicios dependientes después del cambio de edición en la instancia de RDS para SQL Server.

Para cambiar el nombre de las instancias de RDS de origen y destino después de cambiar la edición, siga estos pasos:

En este ejemplo se asume que la instancia de RDS de origen es rds-original con la edición Enterprise. La instancia de destino es rds-new con la edición Standard.

1.    Detenga todo el tráfico entrante (detenga la aplicación) a la instancia de origen rds-original.

2.    Siga cualquiera de los pasos u opciones anteriores para actualizar o volver a una edición anterior de SQL Server en la instancia de RDS. Una vez que la edición se modifique correctamente, hay dos instancias: la instancia de origen es rds-original y la instancia de destino es rds-new.

3.    Modifique la instancia de origen para cambiar el nombre del identificador de base de datos de rds-original a otro nombre, como rds-original-old.

4.    Cuando la instancia rds-original-old esté en el estado Available (Disponible), cambie el nombre del identificador de base de datos de la instancia de destino de rds-new al nombre de la instancia original, rds-original.

5.    Compruebe que las instancias cambian de nombre a rds-original-old y rds-original y que estén en el estado Available (Disponible).

6.    Asegúrese de mantener los grupos de seguridad de RDS relacionados que están asociados a la instancia de RDS de destino de la nueva edición iguales a los de la instancia de origen. Esto garantiza que la conectividad de red de las aplicaciones existentes siga siendo la misma.

7.    Permita el tráfico entrante (inicie la aplicación) ahora para la instancia rds-original que tiene la edición de SQL Server requerida. No es necesario realizar cambios en las cadenas de conexión de la aplicación, ya que RDS tiene el mismo punto de conexión de DNS que la instancia de origen.

8.    Pruebe la aplicación para asegurarse de que no haya se produzca ningún problema tras el cambio de edición de la instancia de RDS.

9.    Si todo funciona correctamente, cree una instantánea final de la instancia rds-original-old y, a continuación, elimine esta instancia para ahorrar costos.

Nota: Se recomienda probar las actividades primero en un entorno inferior antes de implementarlas en el entorno de producción. Esto le da una estimación del tiempo que tardan en realizarse los cambios. Además, puede identificar cualquier problema que se produzca durante la actividad para facilitar la implementación en el entorno de producción.