

# Integrar uma instância de banco de dados do Amazon RDS for SQL Server ao Amazon S3
<a name="User.SQLServer.Options.S3-integration"></a>

É possível transferir arquivos entre uma instância de banco de dados do Amazon RDS for SQL Server e um bucket do Amazon S3. Ao fazer isso, é possível usar o Amazon S3 com os recursos do SQL Server, como BULK INSERT. Por exemplo, é possível baixar .csv, .xml, .txt e outros arquivos do Amazon S3 no host da instância de banco de dados de `D:\S3\` para o banco de dados. Todos os arquivos são armazenados em `D:\S3\` na instância de banco de dados.

As limitações a seguir se aplicam a:

**nota**  
O tráfego entre o host do RDS e o S3 é roteado por meio de endpoints da VPC em VPCs internas do RDS para todos os recursos do SQL Server que usam o S3. Esse tráfego não usa a ENI do endpoint da instância do RDS. As políticas de bucket do S3 não podem restringir o tráfego do RDS com base em condições de rede.
+ Os arquivos na pasta `D:\S3` são excluídos na réplica em espera após um failover em instâncias Multi-AZ. Para obter mais informações, consulte [Limitações Multi-AZ para a integração do S3](#S3-MAZ).
+ A instância de banco de dados e o bucket do S3 devem estar na mesma região da AWS.
+ Se você executar mais de uma tarefa de integração do S3 por vez, as tarefas serão executadas sequencialmente, não em paralelo.
**nota**  
As tarefas de integração do S3 compartilham a mesma fila que as tarefas nativas de backup e restauração. É possível ter no máximo duas tarefas em andamento a qualquer momento nesta fila. Portanto, duas tarefas nativas de backup e restauração em execução bloquearão todas as tarefas de integração do S3.
+ É necessário habilitar novamente o recurso de integração do S3 em instâncias restauradas. A integração do S3 não é propagada da instância de origem para a instância restaurada. Os arquivos em `D:\S3` são excluídos em uma instância restaurada.
+ O download na instância de banco de dados é limitado a 100 arquivos. Em outras palavras, não pode haver mais de 100 arquivos em `D:\S3\`.
+ Somente arquivos sem extensões de arquivo ou com as seguintes extensões de arquivo são aceitos para download: .abf, .asdatabase, .bcp, .configsettings, .csv, .dat, .deploymentoptions, .deploymenttargets, .fmt, .info, .ispac, .lst, .tbl, .txt, .xml e .xmla.
+ O bucket do S3 deve ter o mesmo proprietário da função do AWS Identity and Access Management (IAM) relacionada. Portanto, a integração do S3 entre contas não tem suporte.
+ O bucket do S3 não pode ser aberto ao público.
+ O tamanho do arquivo para uploads do RDS para o S3 é limitado a 50 GB por arquivo.
+ O tamanho do arquivo para downloads do S3 para o RDS é limitado ao máximo aceito pelo S3.

**Topics**
+ [Pré-requisitos para integrar o RDS for SQL Server com o S3](Appendix.SQLServer.Options.S3-integration.preparing.md)
+ [Habilitação da integração do RDS for SQL Server com o S3](Appendix.SQLServer.Options.S3-integration.enabling.md)
+ [Transferência de arquivos entre o RDS for SQL Server e o Amazon S3](Appendix.SQLServer.Options.S3-integration.using.md)
+ [Listar arquivos na instância de banco de dados do RDS](Appendix.SQLServer.Options.S3-integration.using.listing-files.md)
+ [Excluir arquivos na instância de banco de dados do RDS](Appendix.SQLServer.Options.S3-integration.using.deleting-files.md)
+ [Monitorar o status de uma tarefa de transferência de arquivo](Appendix.SQLServer.Options.S3-integration.using.monitortasks.md)
+ [Cancelar uma tarefa](Appendix.SQLServer.Options.S3-integration.canceltasks.md)
+ [Limitações Multi-AZ para a integração do S3](#S3-MAZ)
+ [Desabilitação da integração do RDS for SQL Server com o S3](Appendix.SQLServer.Options.S3-integration.disabling.md)

Para obter mais informações sobre como trabalhar com arquivos no Amazon S3, consulte [Conceitos básicos do Amazon Simple Storage Service](https://docs.aws.amazon.com/AmazonS3/latest/userguide/GetStartedWithS3).

## Limitações Multi-AZ para a integração do S3
<a name="S3-MAZ"></a>

Em instâncias Multi-AZ, os arquivos na pasta `D:\S3` são excluídos na réplica em espera após um failover. Um failover pode ser planejado, por exemplo, durante modificações de instâncias de banco de dados, como alterar a classe de instância ou atualizar a versão do mecanismo. Ou um failover pode ser não planejado, durante uma interrupção do principal.

**nota**  
Não recomendamos usar a pasta `D:\S3` para armazenamento de arquivos. A prática recomendada é carregar arquivos criados no Amazon S3 para torná-los duráveis e baixar arquivos quando precisar importar dados.

Para determinar o último tempo de failover, é possível usar o procedimento `msdb.dbo.rds_failover_time` armazenado. Para obter mais informações, consulte [Determinar o horário do último failover do Amazon RDS para SQL Server](Appendix.SQLServer.CommonDBATasks.LastFailover.md).

**Example de nenhum failover recente**  
Este exemplo mostra a saída quando não há nenhum failover recente nos logs de erros. Nenhum failover aconteceu desde 29-04-2020 23:59:00.01.  
Portanto, todos os arquivos baixados após esse horário que não foram excluídos usando o procedimento `rds_delete_from_filesystem` armazenado ainda estão acessíveis no host atual. Arquivos baixados antes desse horário também podem estar disponíveis.  


| errorlog\_available\_from | recent\_failover\_time | 
| --- | --- | 
| 29-04-2020 23:59:00.0100000 | nulo | 

**Example de failover recente**  
Este exemplo mostra a saída quando há um failover nos logs de erros. O failover mais recente foi em 05-05-2020 18:57:51.89.  
Todos os arquivos baixados após esse horário que não foram excluídos usando o procedimento `rds_delete_from_filesystem` armazenado ainda estão acessíveis no host atual.  


| errorlog\_available\_from | recent\_failover\_time | 
| --- | --- | 
| 29-04-2020 23:59:00.0100000 | 05-05-2020 18:57:51.8900000 | 