Come posso eseguire i backup nativi di un'istanza database Amazon RDS che esegue SQL Server?

4 minuti di lettura
0

Desidero eseguire un backup nativo del mio database utente nella mia istanza database Amazon Relational Database Service (Amazon RDS) che esegue SQL Server. Devo archiviare il file di backup in Amazon Simple Storage Service (Amazon S3) o utilizzare il file di backup del database per eseguire il ripristino sulla stessa istanza database di Amazon RDS per SQL Server o su un'istanza diversa.

Breve descrizione

Amazon RDS supporta il backup e il ripristino nativi per i database Microsoft SQL Server. Puoi creare un backup completo del tuo database on-premises e archiviare il file in Amazon S3. A quel punto potrai ripristinare il file di backup su un'istanza database Amazon RDS esistente che esegue SQL Server. Puoi anche ripristinare il file di backup su un server on-premises o su un'istanza database Amazon RDS diversa che esegua SQL Server.

Risoluzione

Per configurare un backup nativo del database SQL Server occorrono i seguenti componenti:

  1. Apri la console Amazon RDS, quindi scegli Gruppi di opzioni nel pannello di navigazione. Scegli Crea gruppo e inserisci nome, descrizione, motore e versione del motore relativi al tuo server. Quindi, scegli Crea.
  2. Seleziona il gruppo di opzioni creato, quindi scegli Aggiungi opzione. Scegli SQLSERVER_BACKUP_RESTORE. È consigliabile creare un nuovo ruolo IAM e quindi scegliere Aggiungi opzione per assicurarsi che il ruolo IAM disponga dei privilegi richiesti. Scegli il bucket S3 o creane uno nuovo. Quindi scegli Applica immediatamente e Aggiungi opzione.
  3. Associa il gruppo di opzioni all'istanza database scegliendo Database nel pannello di navigazione, quindi scegli l'istanza di cui desideri eseguire il backup. Scegli Operazioni, quindi Modifica.
  4. In Opzioni database, scegli il gruppo di opzioni creato, quindi scegli Applica immediatamente e Continua. Rivedi le informazioni, poi scegli Modifica istanza database. Questa modifica del gruppo di opzioni non comporta tempi di inattività, poiché non è richiesto il riavvio dell'istanza.
  5. Quando lo stato cambia da modifica in corso a disponibile, connettiti all'istanza database tramite SQL Server Management Studio utilizzando l'utente master dell'istanza RDS. Quindi, scegli Nuova query e inserisci una delle seguenti istruzioni SQL per avviare il backup del database desiderato:

Avvio del backup per i database non crittografati

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;

Avvio del backup per i database crittografati

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: sostituisci database_name, bucket_name, file_name_and_extension, region, account-id e key-id riportati negli esempi adattandoli al tuo scenario. Per ripristinare il database utente su una nuova istanza database RDS, è possibile utilizzare il file di backup generato nel bucket S3. Richiamando la procedura archiviata rds_backup_database o rds_restore_database, l'attività si avvierà e restituirà informazioni sulla stessa.

Quando lo stato del ciclo di vita dell'attività è RIUSCITO significa che l'attività è stata completata. Puoi quindi aprire la console Amazon S3, scegliere il bucket in cui hai creato il backup del database utente e visualizzare il file di backup. Puoi scaricare questo file o utilizzare il file di backup del database utente per eseguire il ripristino nella stessa istanza database di Amazon RDS per SQL Server o in una nuova istanza database RDS.

Usa una delle seguenti istruzioni SQL per eseguire il ripristino dal file di backup disponibile nel bucket S3:

Ripristino dei database non crittografati

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';

Ripristino dei database crittografati

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';

Puoi ottenere l'ID attività dopo aver eseguito l'istruzione di backup o ripristino. In alternativa, puoi utilizzare lo script seguente per identificare tutte le attività completate e in sospeso per uno specifico database:

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

Per tenere traccia dello stato del processo, usa la seguente istruzione SQL:

exec msdb..rds_task_status @task_id= 5

Per un elenco di potenziali errori e soluzioni, consulta la pagina Migrating Microsoft SQL Server Enterprise workloads to Amazon RDS.


Informazioni correlate

Introduzione ai backup

Backup, ripristino ed esportazione dei dati da un'istanza database Amazon RDS

Importazione ed esportazione di database SQL Server mediante backup e ripristino nativi