将 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 |