本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Linux 上评估 SQL 服务器
概览
自 SQL Server 2017 以来,可以在 Linux 操作系统上安装 SQL Server。Linux 上的 SQL Server 已为企业做好准备,具有灵活性、高性能、安全功能、降低的总体拥有成本、HA/DR 功能和出色的用户体验。你可以从 Windows 服务器上的 SQL Server 切换到 Linux 上的 SQL Server,以节省 Windows 服务器的许可成本。
对于 Linux,SQL Server 可以部署在红帽企业 Linux (RHEL)、SUSE Linux 企业服务器 (SLES)、Ubuntu 和亚马逊 Linux 2 上。SQL Server 数据库引擎在 Windows Server 和 Linux 上的运行方式相同,但是在使用 Linux 时,某些任务有一些根本性的变化。在 Linux 和 Windows 上运行 SQL Server Always On 应用程序之间的一个关键区别与故障转移群集有关。如果您在 Windows 服务器主机上部署 Always On 可用性组,则可以利用 Windows 服务器故障转移群集 (WSFC)
Windows 和 Linux 上的 SQL Server 共享一个共同的代码库。也就是说,SQL Server 核心引擎根本没有更改为在 Linux 上运行。SQL Server 引入了平台抽象层 (SQLPAL),如下图所示。

SQLPAL 负责抽象 SQL Server 和底层操作系统之间的调用和通信。主机扩展只是一个原生 Linux 应用程序。低级操作系统函数是用于优化 I/O、内存和 CPU 使用率的本机调用。当主机扩展启动时,它会加载并初始化 SQLPAL,然后启动 SQL Server。SQLPAL 启动独立的软件进程,为其余代码提供所需的翻译。在 SQL Server 架构中添加这一新层意味着,无论使用哪种操作系统,都可以使用使 SQL Server 在 Windows 上如此强大的企业级核心功能和优势。
成本影响
对于 r5.2xlarge 实例,在每种情况下,Windows Server 的许可成本降低约为 268 美元。与使用更便宜的 SQL Server 版本相比,降低的比例在服务器总成本中所占的比例更高。下表显示了节省的成本。
实例 | 版本 | Windows 上的 SQL Server 的每月费用 | Linux 上的 SQL Server 每月费用 | 节省成本 |
---|---|---|---|---|
r5.2xlarge | Web | 735 美元 | 466 美元 | 37% |
r5.2xlarge | Standard | 1,337 美元 | 1,068 美元 | 20% |
r5.2xlarge | 企业 | 2,826 美元 | 2,558 美元 | 10% |
注意
上表中的价格估算基于该us-east-1
地区的按需定价,可以直接在中查看AWS Pricing Calculator
举一个示例场景,即中小型企业领域的独立软件供应商客户希望在开发环境中节省成本。他们已经在一组 Windows 服务器上使用了 SQL Server 开发者版。通过从带有 SQL Server 的 Windows 开发者版切换到带有 SQL Server 开发者版的 Linux,ISV 客户可以节省 33% 的开发工作量。下表显示了此方案的以下估计成本。
Estimate | 月度成本 |
---|---|
Windows + SQL 服务器 |
9,307.72 美元 |
Linux + SQL 服务器 |
6,218.36 美元 |
预计节省的成本 | 3,089.36 美元 (33%) |
在另一个示例场景中,一家公司将包含许可证的 SQL Server EC2 实例从 Windows 迁移到 Linux。该公司每年在Windows Server许可成本上总共节省30万美元,约占其总账单的20%。 AWS
成本优化建议
我们建议您考虑以下几点:
-
从 SQL Server 2017 开始,支持 Linux 上的 SQL 服务器。
-
为了帮助切换,你可以使用微软 SQL Server 数据库的 Windows 到 Linux 平台重构助手。平台重塑助手是一款脚本工具,通过检查常见的不兼容性、从 Windows 主机导出数据库,然后将数据库导入在 Ubuntu 16.04 上 EC2 运行 Microsoft SQL Server 2017 的实例,可以帮助你将现有 SQL Server 工作负载从 Windows 迁移到 Linux 操作系统。
-
你也可以使用 SQL Server 中的备份和恢复
功能从 Windows 上的 SQL Server 切换到 Linux。 -
你可以使用,轻松快速地部署到 Linux 或 Ubuntu 上的 SQL Server。AWS Launch WizardLaunch Wizard 可以根据您的应用程序需求,在独立和高可用性场景中在 Linux 或 Ubuntu 上部署 SQL Server。有关更多信息,请参阅 Microsoft Work dloads AWS 博客上的 “始终在 Linux 上部署到 SQL Server
” 的文章。 AWS Launch Wizard
下图显示了使用微软 SQL Server 数据库的 Windows 到 Linux 平台重构助手的解决方案架构。

其他资源
-
Linux 上的 SQL Server 概述
(微软学习) -
Linux 上的 SQL Server 安装指南
(微软学习) -
使用 AWS Launch Wizard( AWS 博客@@ 上的微软工作负载)在 Linux 上部署到 SQL Server
-
Linux 上的高可用性 SQL Server
(AWS 开源博客)