¿Cómo puedo hacer copias de seguridad nativas de una instancia de base de datos de Amazon RDS que ejecuta SQL Server?

5 minutos de lectura
0

Quiero hacer una copia de seguridad nativa de mi base de datos de usuarios en mi instancia de base de datos de Amazon Relational Database Service (Amazon RDS) que ejecuta SQL Server. Necesito almacenar el archivo de copia de seguridad en Amazon Simple Storage Service (Amazon S3) o usar el archivo de copia de seguridad de la base de datos para restaurarlo en la misma instancia de base de datos de Amazon RDS para SQL Server, o en una diferente.

Breve descripción

Amazon RDS admite copias de seguridad y restauración nativas para bases de datos de Microsoft SQL Server. Puede crear una copia de seguridad completa de la base de datos local y almacenar el archivo en Amazon S3. A continuación, puede restaurar el archivo de copia de seguridad en una instancia de base de datos de Amazon RDS existente que ejecute SQL Server. También puede restaurar este archivo de copia de seguridad en un servidor local o en otra instancia de base de datos de Amazon RDS que ejecute SQL Server.

Solución

Para configurar una copia de seguridad nativa de la base de datos de SQL Server, necesita los siguientes componentes:

  1. Abra la consola de Amazon RDS y, a continuación, seleccione Grupos de opciones en el panel de navegación. Seleccione Crear grupo e introduzca el nombre, la descripción, el motor y la versión del motor de su servidor. A continuación, seleccione Crear.
  2. Seleccione el grupo de opciones que creó y, a continuación, elija Agregar opción. Seleccione SQLSERVER_BACKUP_RESTORE. Se recomienda crear un nuevo rol de IAM y, a continuación, seleccionar Agregar opción para que su rol de IAM tenga los privilegios necesarios. Elija su bucket de S3 o cree un bucket de S3 nuevo. Luego, seleccione Aplicar inmediatamente y Agregar opción.
  3. Asocie el grupo de opciones a la instancia de base de datos seleccionando Bases de datos en el panel de navegación y, a continuación, elija la instancia de la que desea hacer la copia de seguridad. Seleccione Acciones y, a continuación, seleccione Modificar.
  4. En Opciones de base de datos, seleccione el grupo de opciones que ha creado y, a continuación, elija Aplicar inmediatamente y Continuar. Revise la información y, a continuación, seleccione Modificar la instancia de base de datos. Esta modificación del grupo de opciones no tiene tiempo de inactividad porque no es necesario reiniciar la instancia.
  5. Cuando el estado pase de Modificando a Disponible, conéctese a la instancia de base de datos a través de SQL Server Management Studio con el usuario maestro de la instancia de RDS. A continuación, seleccione Nueva consulta e introduzca una de las siguientes instrucciones SQL para iniciar la copia de seguridad de la base de datos deseada:

Cómo iniciar la copia de seguridad de bases de datos no cifradas

exec msdb.dbo.rds_backup_database
@source_db_name='database_name', @s3_arn_to_backup_to='arn:aws:s3:::bucket_name/file_name_and_extension',
@overwrite_S3_backup_file=1;

Cómo iniciar la copia de seguridad de bases de datos cifradas

exec msdb.dbo.rds_backup_database
@source_db_name='database_name',
@s3_arn_to_backup_to='arn:aws:s3:::bucket_name/file_name_and_extension',   
@kms_master_key_arn='arn:aws:kms:region:account-id:key/key-id',
@overwrite_S3_backup_file=1;

Nota: Sustituya database_name, bucket_name, file_name_and_extension, region, account-id key-id y key-id que aparecen en estos ejemplos para que coincidan con su situación. Puede usar el archivo de copia de seguridad, generado en el bucket de S3, para restaurar la base de datos de usuarios en una nueva instancia de base de datos de RDS. Cuando se llama al procedimiento almacenado rds_backup_database o rds_restore_database, la tarea se inicia y se genera información sobre esta.

Cuando el estado del ciclo de vida de la tarea es CORRECTO, la tarea está completa. A continuación, puede abrir la consola de Amazon S3, elegir el bucket en el que creó la copia de seguridad de la base de datos de usuarios y ver el archivo de copia de seguridad. Puede descargar este archivo o usar el archivo de copia de seguridad de la base de datos de usuarios para restaurarlo en la misma instancia de base de datos de Amazon RDS para SQL Server o en una nueva instancia de base de datos de RDS.

Utilice una de las siguientes instrucciones SQL para restaurar desde el archivo de copia de seguridad disponible en el bucket de S3:

Restauración de bases de datos no cifradas

exec msdb.dbo.rds_restore_database
@restore_db_name='database_name',
@s3_arn_to_restore_from='arn:aws:s3:::bucket_name/file_name_and_extension';

Restauración de bases de datos cifradas

exec msdb.dbo.rds_restore_database
@restore_db_name='database_name',
@s3_arn_to_restore_from='arn:aws:s3::: bucket_name/file_name_and_extension',
@kms_master_key_arn='arn:aws:kms:region:account-id:key/key-id';

Puede obtener el identificador de la tarea después de llevar a cabo la instrucción de copia de seguridad o restauración. O bien, puede usar el siguiente script para identificar todas las tareas finalizadas y pendientes de una base de datos en particular:

exec msdb.dbo.rds_task_status @db_name='database_name'

Para realizar un seguimiento del estado del trabajo, utilice esta instrucción SQL:

exec msdb..rds_task_status @task_id= 5

Para obtener una lista de posibles errores y soluciones, consulte Migrating Microsoft SQL Server Enterprise workloads to Amazon RDS.


Información relacionada

Introducción a las copias de seguridad

Copia de seguridad, restauración y exportación de datos

Importación y exportación de bases de datos de SQL Server por copias de seguridad y restauración nativas