什么是Azure SQL?

适用于:Azure SQL DatabaseAzure SQL Managed InstanceSQL Server on Azure VM

Azure SQL是一系列托管、安全和智能产品,在 Azure 云中使用SQL Server数据库引擎。 Azure SQL是基于熟悉的SQL Server引擎构建的,因此你可以轻松迁移应用程序,并继续使用熟悉的工具、语言和资源。 你的技能和经验同样适用于云,因此你可运用已学知识实现更多目标。

小窍门

Azure SQL 中心可以帮助你找到 Which 选项最适合你?

  • 使用 并排比较选项 屏幕来比较 Azure SQL 中的不同选项。
  • 有关 找到正确的选项决策树及其选择的说明,请参阅 Azure SQL 决策树

来自 Azure 门户的 Azure S Q L 服务门户中央的截图。

Azure SQL系列中的三种产品包括:

  • Azure SQL Database:支持智能托管数据库服务(包括无服务器计算、弹性池和弹性作业自动化)上的现代云应用程序。
    • Azure SQL Database Hyperscale:一种不同架构的 Azure SQL Database 引擎,强调高度可扩展且独立的存储和计算层,适用于多种工作负载,并具有类似的功能,包括 Hyperscale 弹性池。
  • Azure SQL Managed Instance:使用智能的完全托管实例服务大规模地将您的现有 SQL Server 应用进行现代化,与 SQL Server 数据库引擎具有几乎百分之百的功能对等。 最适合用于大部分云迁移方案。
  • Azure VM 上的 SQL Server:轻松实现 SQL Server 工作负载的搬迁,同时保持 100% 的 SQL Server 兼容性,并拥有操作系统级别的访问权限。

了解每个产品如何适应Microsoft Azure SQL数据平台,以匹配适合业务需求的选项。 无论你是优先考虑成本节省还是精简管理,本文都会帮助你确定哪种方法能够满足你最重视的业务要求。

Azure SQL

如今的数据资产越来越复杂,数据托管在本地、云中或网络边缘。 正在构建智能和沉浸式应用程序的开发人员可能会发现自己受到限制。 平台不兼容、数据不够安全、资源不足和性价比障碍等原因造成的限制会导致应用现代化和开发变得更加复杂。

Microsoft的数据平台使用SQL Server技术,并使其可用于物理本地计算机、私有云环境、第三方托管私有云环境和公有云。

完全托管并始终保持最新

花更多时间进行创新,减少修补、更新和备份数据库所耗的时间。 Azure是唯一一个具有常青 SQL 的云,它会自动应用最新的更新和修补程序,使数据库始终处于最新状态,从而消除了支持终止的麻烦。 甚至可自动执行复杂的任务,例如性能优化、高可用性、灾难恢复和备份,使你能够专注于应用程序。

利用内置的智能安全性保护你的数据

Azure不断监视您的数据以防范威胁。 使用 Azure SQL,可以:

  • 通过智能高级威胁检测和主动漏洞评估警报,实时修正潜在威胁。
  • 使用 内置安全控制 (包括 T-SQL、身份验证、网络和密钥管理)获取行业标准多层保护。
  • 充分利用任何云数据库服务中最全面的合规性覆盖。

业务驱动因素

有多个因素可能会影响你在不同数据产品/服务之间所做的选择:

  • 成本:平台即服务 (PaaS) 和基础结构即服务 (IaaS) 选项都包括基本价格,其中涵盖了底层基础结构和许可证的费用。 但是,使用 IaaS 选项时,需要投入额外的时间和资源来管理数据库,而 PaaS 的价格已包括管理功能的费用。 PaaS 和 IaaS 选项都使你能够暂停资源,以帮助降低管理成本。
  • 管理:PaaS 选项可减少管理数据库所需投入的时间。 但是,它还会限制你可以执行或运行的自定义管理任务和脚本的范围。 例如,SQL 数据库不支持 CLR,但在SQL Managed Instance中受支持。
  • 服务级别协议:IaaS 和 PaaS 都提供较高的行业标准 SLA。 PaaS 选项的 SLA 保证高于 IaaS,尤其是在为 Azure SQL DatabaseAzure SQL Managed Instance1 实现区域冗余时。 IaaS 保证基础结构的 SLA,这意味着还需要实施其他机制来确保数据库的可用性。 可以通过创建其他 SQL 虚拟机并实现 SQL Server AlwaysOn 可用性组高可用性解决方案来实现更高的 SLA。
  • 是时候迁移到 Azure:Azure VM 上的 SQL Server 与您的环境完全匹配,因此从本地迁移到 Azure VM 与将数据库从一个本地服务器移到另一个本地服务器并无二致。 SQL Managed Instance还可以轻松迁移;但是,迁移前可能需要应用一些更改。

服务比较

混合云SQL Server选项的图示:云中的IaaS SQL Server或SaaS SQL数据库。

如图所示,每款服务产品可根据你在基础结构中所拥有的管理级别,以及成本效益程度等特征进行分类。

在Azure中,可以将SQL Server工作负荷作为托管服务(PaaS)或托管基础结构(IaaS)运行,例如软件即服务(SaaS)或应用程序。 在 PaaS 中有多个产品选项,每个选项中有多个服务层级。 在 PaaS 或 IaaS 之间做出决定时需要问的关键问题是:是否要管理数据库、应用修补程序和备份,或者是否要将这些操作委托给Azure?

Azure SQL 数据库

Azure SQL Database是Azure中托管的关系数据库即服务(DBaaS),属于Platform-as-service(PaaS)的行业类别。

  • 最适合希望使用最新稳定SQL Server功能的现代云应用程序,并在开发和营销方面具有时间限制。
  • 完全托管的 SQL Server 数据库引擎,基于最新的稳定版 SQL Server 企业版。 SQL 数据库基于由Azure拥有、托管和维护的标准化硬件和软件构建。

借助SQL Server,内置特性和功能通常需要大量配置(本地或Azure虚拟机)。 使用 SQL 数据库时,可以即用即付,并使用向上或向外缩放选项获得更强大的功能且不会中断服务。 SQL 数据库具有一些其他功能,这些功能在SQL Server中不可用,例如内置高可用性、智能和管理。

Azure SQL Database提供以下部署选项:

  • 充当拥有自己的资源集(通过逻辑服务器进行托管)的单一数据库。 单个数据库类似于 SQL Server 中的 contained 数据库。 此选项已针对新式应用程序开发进行优化,可用于开发新型的云原生应用程序。 可以使用超大规模无服务器选项。
  • 弹性池:一个数据库集合,具有通过逻辑服务器管理的一组共享资源。 可以将单一数据库移入或移出弹性池。 此选项已针对新式应用程序开发进行优化,可用于使用多租户 SaaS 应用程序模式开发新型的云原生应用程序。 弹性池提供经济高效的解决方案用于管理使用模式可变的多个数据库的性能。

Azure SQL 托管实例

Azure SQL Managed Instance属于Platform 即服务(PaaS)行业类别,最适合大多数迁移到云。 SQL Managed Instance是系统数据库和用户数据库的集合,其中包含一组已准备好直接迁移的资源。

  • 最适合想要使用最新稳定SQL Server功能的新应用程序或现有本地应用程序,并且这些功能迁移至云且更改最少。 SQL 托管实例类似于 Microsoft SQL Server 数据库引擎,为数据库及其他实例级功能提供共享资源。
  • SQL Managed Instance支持从本地进行数据库迁移,几乎无需更改数据库。 此选项提供Azure SQL Database的所有 PaaS 优势,但添加了其他功能,例如本机虚拟网络。 SQL Managed Instance提供完整的SQL Server访问和功能兼容性,可将SQL Server实例迁移到Azure。

Azure VM 上的SQL Server

Azure VM 上的 SQL Server属于行业类别 Infrastructure-as-Service(IaaS)并允许在Azure的完全托管虚拟机(VM)内运行SQL Server。

  • SQL Server 安装并托管在云中,运行于 Azure 的 Windows Server 或 Linux 虚拟机上。 所有受支持的SQL Server版本都可用于在 IaaS 虚拟机中安装。
  • 最适合用于需要 OS 级别访问的迁移和应用程序。 对于需要快速迁移到云的现有应用程序,Azure中的 SQL 虚拟机已准备就绪,只需进行少量更改或无更改即可。 SQL 虚拟机提供对SQL Server实例和基础 OS 的完全管理控制,以便迁移到Azure。
  • 与 SQL 数据库和SQL Managed Instance最重要的区别在于,SQL Server on Azure Virtual Machines允许完全控制数据库引擎。 可以选择何时启动维护活动,包括系统更新、将恢复模式更改为简单或大容量记录、根据需要暂停或启动服务,并且可以完全自定义SQL Server数据库引擎。 控制度的提高也意味着在管理虚拟机方面需要承担更大的责任。
  • 在无需为 SQL Server 购买内部部署硬件时,快速开发和测试方案。 SQL 虚拟机还在由Azure拥有、托管和维护的标准化硬件上运行。 使用 SQL 虚拟机时,您可以即用即付,即购买已包含在 SQL Server 映像中的 SQL Server 许可证,或者轻松使用现有许可证。 还可以根据需要停止或恢复 VM。
  • 针对将现有应用程序迁移到Azure或将现有本地应用程序扩展到混合部署中的云进行了优化。 此外,可以使用虚拟机中的SQL Server开发和测试传统的SQL Server应用程序。 使用 SQL 虚拟机,可以拥有专用SQL Server实例和基于云的 VM 的完整管理权限。 当组织已拥有可用来维护虚拟机的 IT 资源时,此选项是最佳选择。 使用这些功能可以构建高度定制的系统,解决应用程序的具体性能与可用性要求。

比较表

下表列出了Azure VM 上的Azure SQL Database、Azure SQL Managed Instance和SQL Server之间的差异,但 sql 数据库和SQL Managed Instance经过优化,可将整体管理成本降低到预配和管理多个数据库的最低水平。持续管理成本会降低,因为无需管理任何虚拟机、操作系统或数据库软件。 不需要管理升级、高可用性或备份

Azure门户在 Azure SQL hub 中包含决策树,以帮助Azure SQL中找到正确的选项。 有关决策树及其选择的说明,请参阅Azure SQL决策树

通常,SQL 数据库和SQL Managed Instance可以显著增加由单个 IT 或开发资源高效管理的数据库数。

  • SQL 数据库的弹性池也支持 SaaS 多租户应用程序体系结构,提供租户隔离等功能,并可以跨数据库共享资源,通过缩放来降低成本。
  • SQL Managed Instance为实例范围的功能提供支持,使现有应用程序能够轻松迁移,以及在数据库之间共享资源。 SQL 托管实例池可以为客户带来巨大的成本节省优势,类似于 SQL 数据库的弹性池。
  • Azure VM 上的 SQL Server为 DBA 提供与他们熟悉的本地环境最相似的体验。
Azure SQL 数据库 Azure SQL 托管实例 Azure VM 上的SQL Server
支持大多数本地数据库级功能。 最常用的SQL Server功能可用。
通过区域冗余提升企业级 SLA
内置备份、修补和恢复。
最新的稳定版数据库引擎版本。
可将必要的资源(CPU/存储)分配到单个数据库。
内置高级智能和安全性。
联机更改资源(CPU/存储)。
几乎支持所有的本地实例级和数据库级功能。 与SQL Server的高兼容性。
通过区域冗余提升企业级 SLA
内置备份、修补和恢复。
最新的稳定版数据库引擎版本。
从SQL Server轻松迁移。
Azure Virtual Network中的专用 IP 地址。
内置高级智能和安全性。
联机更改资源(CPU/存储)。
你可以完全控制SQL Server引擎。 支持所有本地功能。
通过可用性区域或可用性集提高企业级 SLA
与匹配版本的本地 SQL Server 完全等同。
从SQL Server轻松迁移。
Azure Virtual Network中的专用 IP 地址。
可以在放置SQL Server的主机上部署应用程序或服务。
从 Azure 门户管理SQL Server VM,并在注册 Windows SQL Server IaaS 代理扩展时解锁其他许多好处。
某些SQL Server功能不可用。 对于具有操作系统或 SQL 代理依赖项的现有应用程序,从SQL Server迁移可能很困难。
可配置的维护时段
只能使用数据库兼容性级别实现与SQL Server版本的兼容性。
Azure Private Link 的专用 IP 地址支持。
很少SQL Server功能在Azure SQL Managed Instance中不可用。
可配置的维护时段
只能使用数据库兼容性级别实现与SQL Server版本的兼容性。
你可以使用手动或自动备份
你需要实施你自己的高可用性解决方案。
更改资源(CPU/存储)会造成停机
最多 128 TB 的数据库。 最多 16 TB。 具有最高 256 TB 存储量的 SQL Server 实例。 实例可以支持所需数量的数据库。
本地应用程序可以访问Azure SQL Database中的数据。 使用 Azure Express Route 或 VPN Gateway 配置现有虚拟网络,以便Azure SQL Managed Instance与本地环境建立连接。 借助 SQL 虚拟机,应用程序可以一部分在云中运行,一部分在本地运行。 例如,可以通过 Azure Virtual Network 将本地网络和Active Directory Domain扩展到云。 有关混合云解决方案的详细信息,请参阅将本地数据解决方案扩展到云

成本

无论你是现金不足的新公司,或是在预算有限的情况下运作的已成立公司的小组,资金的限制通常是决定数据库托管方式的主要考虑因素。

在本部分中,了解与Azure SQL系列产品关联的Azure中的计费和许可基础知识,并计算应用程序总成本。

计费和许可基础概念

目前,Azure SQL DatabaseAzure SQL Managed Instance均作为服务形式销售,提供多个选项和不同的服务层级,资源的价格各异,所有这些服务根据您所选的服务层级和计算规模,每小时按固定费率计费。 有关当前支持的服务层级、计算大小和存储量的最新信息,请参阅 Azure SQL 数据库的基于 DTU 的购买模型概述SQL 数据库和 SQL 托管实例的基于 vCore 的购买模型

  • 使用 SQL 数据库,可以从基本层的 32.24¥/月起,从各种价格中选择符合需求的购买模型、服务层级和计算层,并且可以创建 弹性池 以在数据库之间共享资源,以降低成本并适应使用量高峰。
  • 使用 SQL Managed Instance,可以选择符合需求的服务层,并创建instance 池以在实例之间共享资源,以降低成本并适应使用高峰。
  • 使用 Azure VM 上的SQL Server,可以选择符合需求的 VM 大小和存储配置。 VM 的成本取决于 VM 的大小和核心数。
  • 使用所有三种 Azure SQL 产品时,可以激活 Azure Hybrid Benefit (AHB),它为 SQL Server Database Engine 的 SQL Server 许可证分配提供折扣。 使用 Pricing Calculator 查看 Azure Hybrid Benefit 的潜在成本节省。

另外,你需要按常规数据传输费率支付 Internet 传出流量费用。 可以动态调整服务层级和计算大小,以满足应用程序的不同吞吐量需求。

使用 SQL 数据库SQL Managed Instance,数据库软件会自动配置、修补和升级Azure,从而降低管理成本。 此外,它的 内置备份 功能可帮助你大幅降低成本,尤其是拥有大量的数据库时。

Azure 虚拟机上的 SQL Server,您可以使用平台提供的任何 SQL Server 映像,或自行安装 SQL Server 到 Azure 虚拟机,然后注册 Windows SQL Server IaaS 代理扩展以获得额外的优势。 所有受支持的SQL Server版本(2016、2017、2019、2022、2025)和版本(Developer、Express、Web、Standard、Enterprise)均可用。 使用提供的Azure映像时,运营成本取决于 VM 大小和所选SQL Server版本。 无论 VM 大小或SQL Server版本如何,你都会支付每分钟SQL Server和 Windows 或 Linux Server 的许可费用,以及 VM 磁盘的Azure Storage成本。 每分钟计费选项允许你根据需要使用SQL Server,而无需购买SQL Server许可证。

计算应用程序总成本

开始使用云平台时,运行应用程序的成本包括新开发成本和后续管理成本,以及公有云平台服务成本。

有关定价的详细信息,请参阅以下资源:

管理

对许多企业来说,决定过渡到云服务不仅是关于降低管理复杂度,也在于节约成本。 使用 IaaS 和 PaaS,Azure管理底层基础结构,并自动复制所有数据以提供灾难恢复、配置和升级数据库软件、管理负载均衡,并在数据中心内发生服务器故障时执行透明故障转移。

  • 使用 SQL 数据库SQL Managed Instance可以继续管理数据库,但不再需要管理数据库引擎、操作系统或硬件。 可以继续管理的项目示例包括数据库和登录、索引和查询优化,以及审核和安全性。 此外,在另一个数据中心配置高可用性只需极少量的配置和管理。
  • 使用 Azure VM 上的 SQL Server,可以完全控制操作系统和SQL Server实例配置。 使用 VM,可以决定何时更新/升级操作系统与数据库软件,以及何时安装任何其他软件(例如防病毒软件)。 提供的某些自动化功能可以大大简化修补、备份和高可用性。 此外,还可以控制 VM 的大小、磁盘数目及其存储配置。 Azure允许根据需要更改 VM 的大小。 有关信息,请参阅 Azure 虚拟机和云服务大小

服务级别协议 (SLA)

对于许多 IT 部门而言,首要任务是达到服务级别协议 (SLA) 规定的正常运行时间。 本部分会说明 SLA 对每个数据库托管选项代表的含义。

对于 Azure SQL DatabaseAzure SQL Managed Instance,Azure 提供了 企业级可用性 SLA,通过区域冗余来提高 Azure SQL DatabaseAzure SQL Managed Instance 的可用性。 有关最新信息,请参阅服务级别协议

对于在 Azure VM 上运行的 SQL Server,Azure 为 企业级可用性 SLA 提供支持,适用于在 可用性区域或可用性集 中的两个虚拟机。对于位于不同 可用性区域或可用性集 中的两个虚拟机,SLA 的可用性级别将更高。 这意味着,至少有两个虚拟机中的一个可用于给定 SLA,但它不包括 VM 上运行的进程(如SQL Server)。 对于 VM 中的数据库高可用性(HA),应在SQL Server中配置受支持的高可用性选项之一,例如 Always On 可用性组。 使用支持的高可用性选项不提供额外的 SLA,但允许除了 VM 可用性之外实现数据库可用性。

是时候迁移到Azure了

Azure SQL Database是云设计应用程序的正确解决方案,当开发人员工作效率和新解决方案的快速上市时间至关重要时。 此选项提供类似于编程 DBA 的功能,非常适合云架构师和开发人员,因为它能降低管理基础操作系统和数据库的需求。 有关详细信息,请参阅 高可用性和灾难恢复清单 - Azure SQL Database

Azure SQL Managed Instance大大简化了现有应用程序的迁移到Azure,使你能够快速将迁移的数据库应用程序推向市场Azure。 有关详细信息,请参阅 高可用性和灾难恢复清单 - Azure SQL Managed Instance

SQL Server on Azure VM 上非常适合那些需要大型数据库或全面访问 SQL Server 或 Windows/Linux 所有功能的现有或新应用程序,同时也希望避免购置新的本地硬件所需的时间和开支。 如果您希望将现有的本地应用程序和数据库原封不动地迁移到 Azure,则这也是一个非常合适的选择。 由于无需更改表示层、应用层和数据层,所以可以节省重新构建现有解决方案所需的时间和预算。 相反,你可以专注于将所有解决方案迁移到Azure,并执行Azure平台可能需要的某些性能优化。 有关详细信息,请参阅 Checklist:Azure VM 上的SQL Server最佳做法

使用 Azure 门户创建Azure SQL资源

Azure门户提供单个页面来创建Azure SQL资源。 在 Azure SQL 中心中开始使用:

  • Azure SQL 集线器是Azure SQL DatabaseAzure SQL Database 超大规模Azure SQL Managed InstanceSQL Server on Azure Virtual Machines的启动点。

  • Azure SQL中心包括 哪个选项最适合你?并排比较选项信息性帮助。

    • “查找正确的选项”向导会询问有关关键决策点的一些问题,并帮助你确定要创建的最佳新资源。

    • 产品比较提供每个区域的主要产品功能,以及“创建”按钮以帮助你入门。

      Azure 门户 Azure SQL 产品比较页面的截图。

使用 Azure 门户管理Azure SQL资源

若要访问 Azure SQL 页面,请在Azure门户菜单中选择Azure SQL或在任意页面中搜索并选择Azure SQL

Azure门户提供了一个页面,可在其中管理所有Azure SQL资源包括Azure虚拟机(VM)上的SQL Server。 若要管理现有资源,请在列表中选择所需的项。

注意

Azure SQL提供了一种快速简单的方法来访问Azure门户中的所有 SQL 资源,包括Azure SQL Database中的单一数据库和共用数据库以及托管它们的逻辑服务器、Azure SQL托管实例和Azure上的SQL ServerVm。 Azure SQL不是服务或资源,而是与 SQL 相关的服务系列。

对于概述:

要创建资源:

对于定价:

要进行迁移: