使用 S3 兼容对象存储进行 SQL Server 备份和还原
适用于:SQL Server 2022 (16.x)
本文介绍使用 S3 兼容对象存储作为备份目标所需的概念、要求和组件。
概述
SQL Server 2022 (16.x) 为数据平台引入了对象存储集成,使你能够将 SQL Server 与 S3 兼容对象存储以及 Azure 存储集成。 为了提供此集成,SQL Server 提供 S3 连接器,该连接器使用 S3 REST API 连接到任意 S3 兼容对象存储的提供商。 SQL Server 2022 (16.x) 通过增加对使用 REST API 的 S3 连接器的支持,扩展了现有的 BACKUP/RESTORE TO/FROM URL 语法。 有关支持平台的信息,请参阅 S3 兼容对象存储的提供商。
本文包含有关对 S3 兼容对象存储使用备份到 URL 的信息。 若要详细了解如任何对 S3 兼容对象存储使用备份到 URL,请参阅对 S3 兼容对象存储使用 SQL Server 备份到 URL 。
备份和还原到 S3 兼容存储
BACKUP TO URL
和 RESTORE FROM URL
语法支持 S3 连接器。 有关备份到 URL 功能的详细信息,请参阅:
- 对 S3 兼容对象存储使用 SQL Server 备份到 URL。
- BACKUP (Transact-SQL)
- 从 SQL Server 备份到 URL 的最佳做法和故障排除
- 博客:SQL Server 备份到 URL – 速查表
S3 兼容对象存储的提供商
目前市场上有许多 S3 兼容对象存储的提供商。 对象存储以软件定义、硬件设备或混合云方案的组合方式提供。
下表提供了提供 S3 端点作为其解决方案一部分的对象存储提供程序的非详尽摘要。
供应商(按字母顺序) | 产品/服务 |
---|---|
AWS | AWS Simple Cloud Storage (S3) |
Ceph | Ceph |
Cloudian | HyperStore |
Dell Technologies | ECS 企业级对象存储 |
Hitachi Vantara | 适用于云规模的 Hitachi 内容平台 |
HPE | HPE Ezmeral Data Fabric |
MinIO | 多云对象存储 |
NetApp | StorageGRID ONTAP |
Nutanix | Nutanix 对象存储 |
Pure Storage | Pure FlashBlade |
Red Hat | OpenShift 容器存储 |
Scality | Scality Artesca |
Weka | Weka S3 |
S3 终结点的先决条件
必须配置 S3 端点,如下所示:
- 必须配置 TLS。 假设所有连接都通过 HTTPS 而不是 HTTP 进行安全传输。 SQL Server 需要此方案的证书。
- 必须配置用户(访问密钥 ID),并且该用户的机密(密钥 ID)已知。 需要同时对 S3 端点进行身份验证。
- 必须至少配置一个存储桶。 无法在 SQL Server 2022 (16.x) 中创建或配置存储桶。
性能最佳做法
请向 S3 兼容对象存储提供商咨询,以获取关于性能最佳做法优化、初始设置和配置的指导。 备份和还原参数以及吞吐量的建议值可能会因各种解决方案和设置而发生更改。
可以通过在 SQL Server 2022 (16.x) 中使用 S3 部件,将备份集条带化以支持高达 12.8 TB 的文件大小。
已知问题和限制
由于当前 S3 标准 REST API 的限制,在发生故障时,不会删除临时未提交的数据文件。 由于在运行 BACKUP T-SQL 命令时多部件上传操作正在进行,因此可以在 S3 兼容对象存储中进行创建。 在 BACKUP T-SQL 命令失败或被取消的情况下,这些未提交的数据块将存留在 S3 兼容对象存储中。 如果备份成功,对象存储会自动删除这些临时文件,从而形成最终的备份文件。 某些 S3 提供程序将通过其垃圾回收器系统清理临时文件。