对象存储集成功能
SQL Server 2022(16.x)引入了对象存储集成功能,使您可以将SQL Server与S3兼容的对象存储集成。为了提供这种集成,SQL Server支持一个S3连接器,它使用S3 REST API连接到任何S3兼容的对象存储提供商。SQL Server 2022(16.x)通过增加对使用REST API的新S3连接器的支持,扩展了现有的BACKUP/RESTORE TO/FROM URL命令的语法。
-
指向S3兼容资源的URL以s3://为前缀,表示正在使用S3连接器。以s3://开头的URL始终假定底层协议为https。
-
文件编号和文件大小限制 为了存储数据,S3兼容对象存储提供商必须将文件分割成多个称为“部分”的块,这类似于微软Azure Blob存储中的块Blob。
S3端点的前提条件
S3端点必须按以下方式配置:
-
1、必须配置TLS。假定所有连接将通过HTTPS而非HTTP进行安全传输。端点通过安装在SQL Server操作系统主机上的证书进行验证。
-
2、在S3兼容的对象存储中创建凭据,具有执行操作所需的适当权限。在存储层上创建的用户和密码被称为访问密钥ID(Access Key ID)和秘密密钥ID(Secret Key ID)。您需要这两个密钥才能对S3端点进行身份验证。
-
3、至少配置了一个存储桶。
Linux平台支持
SQL Server使用 WinHttp 实现其所使用的HTTP REST API客户端。它依赖操作系统证书存储来验证由HTTP(S)端点提供的TLS证书。然而,在Linux平台上运行的SQL Server的CA证书必须放置在一个预定义的位置,即/var/opt/mssql/security/ca-certificates 文件夹中,且该文件夹最多只能存储和支持前50个证书。在启动SQL Server进程之前,必须将CA证书放置在该位置。SQL Server在启动时从该文件夹读取证书,并将它们添加到信任存储中。
示例
- 创建凭据
凭据的名称应提供存储路径,并且根据存储平台的不同有多个标准。
当使用S3连接器时,IDENTITY应始终为 'S3 Access Key'。 Access Key ID和Se