Quero migrar bancos de dados de uma instância do Amazon Elastic Compute Cloud (Amazon EC2) ou de uma instância on-premises do Microsoft SQL Server para minha instância Amazon Relational Database Service (Amazon RDS) para Microsoft SQL Server.
Resolução
Métodos para migrar dados
Backup e restauração nativos do SQL Server
É possível usar backup e restauração nativos para migrar o banco de dados do SQL Server de uma instância on-premises ou do Amazon EC2 para uma instância do Amazon RDS para SQL Server. Para fazer isso, realize as etapas a seguir:
-
Crie um bucket do Amazon Simple Storage Service (Amazon S3) para armazenar o backup da instância de origem. O bucket do Amazon S3 deve estar na mesma região da AWS que a instância do Amazon RDS.
-
Crie o perfil do AWS Identity and Access Management (AWS IAM) para acessar o bucket.
-
Adicione a opção SQLSERVER_BACKUP_RESTORE ao grupo de opções associado à instância do Amazon RDS para SQL Server.
-
Crie um backup da instância de origem (on-premises ou Amazon EC2) e copie-o para o bucket do Amazon S3 que você criou na etapa 1.
-
Execute o script a seguir para restaurar o backup na instância do Amazon RDS para SQL Server:
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';
-
Execute o script a seguir para fazer backup do banco de dados da instância do Amazon RDS no S3:
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;
Observação: também é possível fazer backup e restaurar backups diferenciais.
AWS Database Migration Service (AWS DMS)
Conclua as etapas a seguir:
- Verifique os pré-requisitos e as limitações do uso do SQL Server como origem ou destino para o AWS DMS.
- Crie uma instância de replicação do AWS DMS.
- Use o AWS DMS para criar endpoints de origem e destino.
- Criar uma tarefa de migração.
**Replicação transacional **
É possível configurar a replicação transacional das instâncias on-premises ou do SQL Server do EC2 para uma instância do Amazon RDS para SQL Server. No entanto, só é possível tornar a instância do Amazon RDS para SQL Server um assinante. Além disso, só é possível transformar a instância on-premises ou do EC2 SQL Server em publicadora ou distribuidora com assinatura por push.
Para configurar a replicação de transações a partir de uma instância on-premises ou do SQL Server do Amazon EC2, consulte as instruções a seguir:
Arquivo de pacote de backup (.bacpac)
O arquivo .bacpac consiste em metadados copiados e os dados compactados em um arquivo. É uma prática recomendada usar um arquivo.bacpack para bancos de dados com cerca de 200 GB. É possível usar Exportar/Importar ou o utilitário SQLPackage.exe (linha de comando) para criar um arquivo .bacpac. Para obter mais informações sobre o arquivo.bacpac, consulte Migrar bancos de dados SQL Server de um banco de dados SQL do Azure para o Amazon RDS para SQL Server usando o método bacpac.
Métodos para importar dados
Assistente de geração e publicação de scripts
Se seu banco de dados for menor que 1 GB, você poderá usar o Assistente de Geração e Publicação de Scripts. Para bancos de dados maiores, é possível usar o Assistente de Importação e Exportação ou os métodos de cópia em massa para criar scripts no esquema do banco de dados. Para obter mais informações sobre o Assistente de Geração e Publicação de Scripts, consulte Como: Gerar um script (SQL Server Management Studio) na documentação do Microsoft SQL Server.
Observação: certifique-se de selecionar Salvar scripts em um local específico, Avançado na página Definir opção de desenvolvimento de scripts. A configuração Avançado fornece opções adicionais para incluir ou excluir objetos na tabela durante a importação e exportação.
Assistente de importação e exportação
O Assistente de Importação e Exportação cria um pacote de integração. O pacote de integração é usado para copiar dados do seu banco de dados SQL Server on-premises ou do Amazon EC2 para a instância do Amazon RDS para SQL Server. É possível filtrar as tabelas específicas que deseja copiar para a instância do Amazon RDS.
Para obter mais detalhes sobre o Assistente de importação e exportação, consulte Como: Execute o Assistente de Importação e Exportação do SQL Server na documentação do Microsoft SQL Server.
Observação: ao executar o Assistente de Importação e Exportação, certifique-se de escolher as seguintes opções para a instância de destino do Amazon RDS para SQL Server:
- Em Nome do servidor, insira o nome do endpoint da instância de banco de dados Amazon RDS.
- Para o modo de autenticação, escolha Autenticação do SQL Server.
- Em Nome de usuário e Senha, insira o usuário principal que você criou na instância do Amazon RDS.
Utilitário do Programa de Cópia
O Bulk Copy Program (bcp) é um utilitário de linha de comando usado para copiar dados em massa entre instâncias do SQL Server. É possível usar o utilitário bcp para importar grandes conjuntos de dados para uma instância do SQL Server ou exportar para um arquivo.
Veja a seguir exemplos dos comandos IN e OUT:
OUT: Use este comando para exportar ou despejar os registros de uma tabela em um arquivo:
bcp dbname.schema_name.table_name out C:\table_name.txt -n -S localhost -U username -P password -b 10000
O código anterior inclui as seguintes opções:
- -n: especifica que a cópia em massa usa os tipos de dados nativos dos dados a serem copiados.
- -S: especifica a instância do SQL Server à qual o utilitário bcp se conecta.
- -U: especifica o nome de usuário da conta da AWS para fazer login na instância do SQL Server.
- -P: especifica a senha do usuário especificada por**-U**.
- -b: especifica o número de linhas por lote de dados importados.
IN: use esse comando para importar todos os registros do arquivo de despejo para a tabela existente. Você deve criar a tabela antes de executar o comando bcp.
bcp dbname.schema_name.table_name in C:\table_name.txt -n -S endpoint,port -U master_user_name -P master_user_password -b 10000
Para obter mais informações, consulte o utilitário bcp na documentação do Microsoft SQL Server.