使用 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 URLRESTORE FROM URL 语法支持 S3 连接器。 有关备份到 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 提供程序将通过其垃圾回收器系统清理临时文件。