将 Amazon RDS for SQL Server 数据库实例与 Amazon S3 集成 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

将 Amazon RDS for SQL Server 数据库实例与 Amazon S3 集成

您可以在运行 Amazon RDS for SQL Server 的数据库实例和 Amazon S3 存储桶之间传输文件。通过执行此操作,您可以结合使用 Amazon S3 和 SQL Server 功能,例如批量插入。例如,您可以将 .csv、.xml、.txt 和其他文件从 Amazon S3 下载到数据库实例主机,并将数据从 D:\S3\ 导入到数据库中。所有文件都存储在数据库实例上的 D:\S3\ 中。

适用以下限制:

  • 在多可用区实例上进行故障转移后,将在备用副本上删除 D:\S3 文件夹中的文件。有关更多信息,请参阅“S3 集成的多可用区限制”。

  • 数据库实例和 S3 存储桶必须位于同一 Amazon 区域。

  • 如果您一次运行多个 S3 集成任务,则这些任务将按顺序运行,而不是并行运行。

    注意

    S3 集成任务与本机备份和还原任务共享相同的队列。在此队列中,任何时候最多只能有两个正在进行的任务。因此,两个正在运行的本机备份和还原任务将阻止所有 S3 集成任务。

  • 您必须在已还原的实例上重新启用 S3 集成功能。S3 集成不会从源实例传播到已还原的实例。D:\S3 中的文件在还原的实例上被删除。

  • 下载到数据库实例的文件数不能超过 100 个。换句话说,D:\S3\ 中的文件数不能超过 100 个。

  • 仅支持下载无文件扩展名或具有以下文件扩展名的文件:.abf、.asdatabase、.bcp、configsettings、.csv、.dat、.deploymentoptions、.deploymenttargets、.fmt、.info、.ispac、.lst、.tbl、.txt、.xml 和 .xmla。

  • S3 存储桶必须与相关 Amazon Identity and Access Management (IAM) 角色具有同一所有者。因此,不支持跨账户 S3 集成。

  • S3 存储桶不能向公众开放。

  • 从 RDS 上传到 S3 的文件大小限制为每个文件 50 GB。

  • 从 S3 下载到 RDS 的文件大小限制为 S3 支持的最大文件大小。

有关使用 Amazon S3 中的文件的更多信息,请参阅 Amazon Simple Storage Service 入门

S3 集成的多可用区限制

在多可用区实例上,故障转移之后将删除备用副本上 D:\S3 文件夹中的文件。故障转移可以是预先计划的,例如在数据库实例修改(如更改实例类或升级引擎版本)期间。或者,故障转移可能是未计划的,在主实例停机时进行。

注意

我们不建议将 D:\S3 文件夹用于文件存储。最佳做法是将创建的文件上传到 Amazon S3 以使其持久,并在需要导入数据时下载文件。

要确定上次故障转移时间,您可以使用 msdb.dbo.rds_failover_time 存储过程。有关更多信息,请参阅“确定 Amazon RDS for SQL Server 的上次失效转移时间”。

例 最近无故障转移示例

此示例显示错误日志中最近没有故障转移的输出。自 2020-04-29 23:59:00.01 以来,没有发生故障转移。

因此,在该时间之后下载的所有文件,如未使用 rds_delete_from_filesystem 存储过程删除,则仍可在当前主机上访问。在该时间之前下载的文件可能也可用。

errorlog_available_from recent_failover_time

2020-04-29 23:59:00.0100000

null

例 最近故障转移示例

此示例显示错误日志中最近有故障转移的输出。最近一次故障转移的时间是在 2020-05-05 18:57:51.89。

在该时间之后下载的所有文件,如未使用 rds_delete_from_filesystem 存储过程删除,则仍可在当前主机上访问。

errorlog_available_from recent_failover_time

2020-04-29 23:59:00.0100000

2020-05-05 18:57:51.8900000