Como importar um banco de dados de amostra para o Microsoft SQL Server da AWS RDS usando o S3


Este guia foi criado porque era muito difícil encontrar uma maneira de brincar com um banco de dados de amostra usando o AWS RDS MSSQL Server. Eu espero que você ache isto útil.

Se você não configurou o Microsoft SQL Server da AWS RDS e o Azure Data Studio, verifique primeiro este guia: Como conectar o Microsoft SQL Server da AWS RDS usando o Azure Data Studio.

Entraremos em contato com as tecnologias mostradas abaixo:

  • Banco de dados: Microsoft SQL Server Express Edition do AWS RDS
  • Ferramenta de banco de dados e GUI: Azure Data Studio
  • Cópia de backup de banco de dados de amostra: Amazon S3 Bucket

Exemplo de cópia de backup do banco de dados AdventureWorks

Para obter os downloads OLTP do Adventures Works, vá para este ligação. Você pode escolher qualquer, no meu exemplo, eu escolho AdventureWorks2017.bak versão. Enviaremos isso para o balde S3.

Amazon S3 Bucket

Criando o balde S3

  1. Crie um balde. Você pode escolher qualquer nome de bloco (exemplo: seunome-amostra-dbs).

2. Verifique se a região é igual à instância do AWS RDS.

3. Marque as seguintes caixas de seleção:

  • Bloquear o acesso público a buckets e objetos concedidos por meio de Novo listas de controle de acesso (ACLs)
  • Bloquear acessos e objetos públicos concedidos por meio de qualquer listas de controle de acesso (ACLs)

4. Acesse o seu balde novamente clicando no seu balde criado.

Fazendo upload do arquivo no bucket S3

  1. Clique Envio.

2. Escolha o arquivo de backup do banco de dados. Por exemplo: AdventureWorks2017.bak. Continue escolhendo Próximo e escolha Envio na seção Revisão.

3. Atualize sua Política de Bucket para permitir acesso ao seu Bucket S3. Observe que seu ARN será diferente do meu. Bater Salve  mais tarde.

{
    "Version": "2012-10-17",
    "Id": "Policy1548223592786",
    "Statement": [
        {
            "Sid": "Stmt1548223591553",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::changethis/*"
        }
    ]
}

AWS RDS – MSSQL Server Express

Criando um grupo de opções para sua instância do RDS

  1. Clique Grupos de opções,

2. Crie um grupo de opções. Escolha qualquer nome e descrição. Para o mecanismo, ele deve corresponder à sua instância do RDS. No meu exemplo, eu estava usando o SQL Server Express Edition, então escolhi sqlserver-ex.

Aqui estão os seguintes mecanismos e suas abreviações:

  • SQL Server Enterprise Edition: sqlserver-ee
  • SQL Server Standard Edition: sqlserver-se
  • SQL Server Web Edition: sqlserver-web
  • SQL Server Express Edition: sqlserver-ex

3. Depois de criar o grupo de opções, você precisará Adicionar opção.

4. Escolha SQLSERVER_BACKUP_RESTORE para o seu nome da opção. Para a função do IAM, é melhor criar uma nova função.

5. Escolha o bucket S3 onde seu arquivo de banco de dados está hospedado. Para agendar, escolha Imediatamente.

6. Volte para a instância do AWS RDS MSSQL Server e clique em Modificar.

7. Escolha o grupo de opções criado com sql-server-express-backupe clique em Continuar.

8. Escolha para Aplique imediatamente para agendamento de modificações.

9. Volte para a página da instância do AWS RDS MSSQL Server, role para baixo e modifique Gerenciar funções do IAM. Adicione a função do IAM que você criou no S3. Para o recurso, escolha S3_INTEGRATION.

Azure Data Studio

Importando o banco de dados de amostra no bucket S3 por meio da função de restauração

  1. No servidor AWS RDS MSSQL conectado, crie uma nova consulta e digite o seguinte:

exec msdb.dbo.rds_restore_database 
@restore_db_name='AdventureWorks-test', 
@s3_arn_to_restore_from='arn:aws:s3:::clark-sample-dbs/AdventureWorks2017.bak';

Atualize seu Azure Data Studio. Além disso, tente reiniciar o aplicativo se o banco de dados não aparecer ou não tiver permissão para acessar.

Agora você está pronto! Bom trabalho! 🎉🎉🎉

Recursos:

Conecte-se comigo no LinkedIn aqui



Fonte

Leave a Reply

Your email address will not be published. Required fields are marked *