适用于:Linux 上的 SQL Server
容器提供一种轻量级且可移植的方式来运行Linux 上的 SQL Server。 与虚拟机(VM)相比,容器启动速度更快并简化生命周期管理,同时仍为数据库工作负荷提供隔离。
为何使用容器
容器共享主机操作系统(OS),而不是运行完整的来宾 OS,从而减少开销并加快预配速度。 在 Linux 主机上,可以将 SQL Server 2017 (14.x) 或更高版本作为容器运行。 可以使用 Docker 或其他受支持的容器运行时(独立或由业务流程协调程序管理)来运行这些容器。
容器非常适合需要快速部署、跨环境一致性和简化操作的方案:
- 容器的启动和缩放速度比虚拟机快。
- 单个主机 OS 可减少管理开销。
- 相同的映像可确保在开发、测试和生产环境中的部署结果保持一致。
- 较小的占用空间可在共享基础结构上实现更高的密度。
常见用例包括开发和测试、CI/CD 管道以及云原生或可缩放体系结构。
开始
若要开始使用Linux 上的 SQL Server容器,请参阅以下资源:
安装和配置
- 快速入门:使用 Docker 运行 SQL Server Linux 容器映像
- 部署并连接到 SQL Server Linux 容器
- 配置和自定义 SQL Server Linux 容器
- 在 Docker 上安装SQL Server 机器学习服务(Python和 R)
安全性和身份验证
高可用性
Orchestration
对于生产部署,请使用 Kubernetes、Azure Kubernetes 服务 (AKS) 或 Red Hat OpenShift 等业务流程协调程序来管理容器。 编排器负责调度、扩缩容、健康监控和故障恢复。
Microsoft提供了有关在 Kubernetes 上运行SQL Server容器的指南和工具,包括支持的容器映像和部署示例。
- 快速入门:在 Azure 或 Red Hat OpenShift 上部署 SQL Server 容器群集
- 快速入门:使用 Helm 图表将 SQL Server Linux 容器部署到 Kubernetes
- 在 Azure Kubernetes 服务上使用 DH2i DxOperator 在 Kubernetes 上部署可用性组
存储注意事项
在容器中运行的数据库需要容器生命周期之外存在的 持久性存储 。 在 Kubernetes 中,通常使用持久卷和持久卷声明(PVC)来提供此类存储。
典型的部署包括:
- 用于存储数据库文件的永久性卷。
- 使用 Microsoft SQL Server Linux 容器映像的 Deployment 或 StatefulSet。
- 提供稳定网络访问的服务或负载均衡器。
使用此配置,如果节点发生故障,业务流程协调程序可以自动重启或替换容器,并保留数据。