功能比较:Azure SQL 数据库和 Azure SQL 托管实例

适用于:Azure SQL 数据库Azure SQL 托管实例

Azure SQL 数据库服务和 SQL 托管实例均与最新稳定版本的 SQL Server 共用一个通用代码库。 大多数标准 SQL 语言、查询处理和数据库管理功能都是相同的。 SQL Server 与 SQL 数据库或 SQL 托管实例都有以下功能:

Azure 管理数据库并保证其高可用性。 可能影响高可用性或无法在 PaaS 领域中使用的某些功能在 SQL 数据库和 SQL托管实例中会受到限制。 下表描述了这些功能。

如需有关差异的更多详细信息,请查看相关页面:

注意

Microsoft Entra ID 以前称为 Azure Active Directory (Azure AD)。

SQL 数据库和 SQL 托管实例的功能

下表列出了 SQL Server 的主要功能,并说明该功能在 Azure SQL 数据库或 Azure SQL 托管实例中是部分受支持还是完全受支持,同时提供了指向该功能的详细信息的链接。

功能 Azure SQL 数据库 Azure SQL 托管实例
数据库兼容性 100 - 160 100 - 160
Always Encrypted 是,请参阅证书存储密钥保管库 是,请参阅证书存储密钥保管库
Always On 可用性组 每个数据库都保证 99.99-99.995% 可用性简要介绍如何使用 Azure SQL 数据库确保业务连续性中对灾难恢复进行了讨论。 每个数据库都保证 99.99.% 可用性,并且不能由用户管理简要介绍如何使用 Azure SQL 数据库确保业务连续性中对灾难恢复进行了讨论。 使用故障转移组在另一个区域中配置辅助 SQL 托管实例。 不能将 SQL Server 实例和 SQL 数据库用作 SQL 托管实例的辅助数据库。
附加数据库
审核 是,请参阅审核 是,请参阅审核,但有一些差异
Microsoft Entra 身份验证旧称 Azure Active Directory 是,适用于数据库级用户。 服务器级登录名以公共预览版提供。 是的。 数据库级用户和服务器级登录名。
备份命令 否,仅系统启动的自动备份,请参阅 Azure SQL 数据库中的自动备份 是,用户发起的仅将备份复制到 Azure Blob 存储的操作(用户无法发起自动系统备份)- 请参阅备份差异Azure SQL 托管实例中的自动备份
内置函数 大多数,请参阅“单个函数” 是,请参阅存储过程、函数和触发器差异
BULK INSERT 语句 是,但是只能从充当源的 Azure Blob 存储进行。 是,但是只能从充当源的 Azure Blob 存储进行,请参阅差异
证书和非对称密钥 是,无法访问文件系统完成 BACKUPCREATE 操作。 是,无法访问文件系统完成 BACKUPCREATE 操作,请参阅证书差异
更改数据捕获 - CDC 是,适用于 S3 及更高级别层。 不支持基本、S0、S1、S2 层。
排序规则 - 服务器/实例 是,默认数据库排序规则为 SQL_Latin1_General_CP1_CI_AS数据库排序规则可以在创建数据库时设置,并且不能更新。 为数据指定排序规则 (COLLATE),为系统元数据和对象标识符指定目录排序规则 (CATALOG_COLLATION)。 在 Azure SQL 数据库中,没有服务器排序规则。 是,可以在创建实例时设置,以后不可更新。
列存储索引 是 - 高级层、标准层 - S3 及以上层、常规用途层、业务关键层和超大规模层
公共语言运行时 - CLR 是,但无权在 CREATE ASSEMBLY 语句中访问文件系统,请参阅 CLR 差异
凭据 是,但是仅限数据库范围的凭据 是,但仅支持 Azure Key VaultSHARED ACCESS SIGNATURE,请参阅详细信息
跨数据库/三部分名称查询 否,请参阅弹性查询
跨数据库事务 是,在实例中。 对于跨实例查询,请参阅链接服务器的差异
数据库邮件 - DbMail
数据库镜像 否,请参阅 SQL 托管实例功能
数据库快照
数据库虚拟化
DBCC 语句 大多数,请参阅“单个语句” 是,请参阅 DBCC 差异
DDL 语句 大多数,请参阅“单个语句” 是,请参阅 T-SQL 差异
DDL 触发器 仅数据库
分布式分区视图
分布式事务 - MS DTC 否,请参阅弹性事务 否,请参阅弹性事务
DML 触发器 大多数,请参阅“单个语句”
DMV 大多数,请参阅“单个 DMV” 是,请参阅 T-SQL 差异
弹性查询 是,具有所需的 RDBMS 类型(公共预览版) 否,使用本机跨数据库查询和链接服务器
事件通知 否,请参阅警报
表达式
扩展事件 (XEvent) 部分,请参阅 SQL 数据库中的扩展事件 是,请参阅扩展事件的差异
扩展的存储过程
文件和文件组 仅限主文件组 是的。 文件路径是自动分配的,不能在 ALTER DATABASE ADD FILE 中指定文件位置。
文件流 否,请参阅 SQL 托管实例功能
全文搜索 (FTS) 是,但不支持第三方筛选器和断字符 是,但不支持第三方筛选器和断字符
函数 大多数,请参阅“单个函数” 是,请参阅存储过程、函数和触发器差异
内存中优化 “高级”和“业务关键”服务层级中为是。
超大规模服务层级中为非持久性内存中 OLTP 对象(如内存优化表变量)提供有限支持。
“业务关键”服务层级中为是。
语言元素 大多数,请参阅“单个元素” 是,请参阅 T-SQL 差异
账本 是(公共预览版)
链接服务器 否,请参阅弹性查询 是的。 仅适用于没有分布式事务的 SQL Server 和 SQL 数据库
从文件(CSV、Excel)中读取数据的链接服务器 否。 使用 BULK INSERTOPENROWSET 来替代 CSV 格式。 否。 使用 BULK INSERTOPENROWSET 来替代 CSV 格式。
日志传送 每个数据库均包含高可用性业务连续性概述中对灾难恢复进行了探讨。 以本机内置方式成为 Azure 数据迁移服务 (DMS) 迁移过程的一部分。 以本机方式专为自定义数据迁移项目而构建成外部日志重播服务 (LRS)
不可用作高可用性解决方案,因为每个数据库都附带其他高可用性方法,并且我们不建议使用日志传送作为高可用性替代方案。 业务连续性概述中对灾难恢复进行了探讨。 不可用作数据库之间的复制机制 - 请使用业务关键层故障转移组事务复制中的辅助副本作为替代方案。
登录名和用户 是,但 CREATEALTER 登录名语句有限。 不支持 Windows 登录名。 Microsoft Entra 登录名以公共预览版提供。 EXECUTE AS LOGIN 不受支持 - 使用 EXECUTE AS USER 是,但有一些差异支持通过 Kerberos 进行 Windows 登录 - 此过程需要 Active Directory 同步到 Microsoft Entra ID。
批量导入中的最小日志记录 否,仅支持完整恢复模式。 否,仅支持完整恢复模式。
修改系统数据
OLE 自动化
OPENDATASOURCE 是,仅适用于 SQL 数据库、SQL 托管实例和 SQL Server。 请参阅 T-SQL 差异
OPENQUERY 是,仅适用于 SQL 数据库、SQL 托管实例和 SQL Server。 请参阅 T-SQL 差异
OPENROWSET 是,只是为了从 Azure Blob 存储导入。 是,仅适用于 SQL 数据库、SQL 托管实例和 SQL Server,以及从 Azure Blob 存储进行导入的操作。 请参阅 T-SQL 差异
运算符 大多数,请参阅“单个运算符” 是,请参阅 T-SQL 差异
Polybase 否。 可以使用 OPENROWSET 函数查询 Azure Blob 存储上的文件中的数据。 是的,对于 Azure Data Lake Storage (ADLS) 和 Azure Blob 存储作为数据源。 有关更多详细信息,请参阅使用 Azure SQL 托管实例进行数据虚拟化
查询通知
恢复模型 仅支持保证高可用性的完整恢复。 “简单”和“批量日志记录”恢复模型不可用。 仅支持保证高可用性的完整恢复。 “简单”和“批量日志记录”恢复模型不可用。
资源调控器
RESTORE 语句 是,对 Azure Blob 存储上的备份文件使用必需的 FROM URL 选项。 请参阅还原差异
从备份还原数据库 仅从自动备份,请参阅 SQL 数据库恢复 从自动备份,请参阅 SQL 数据库恢复;从 Azure Blob 存储中的完整备份,请参阅备份差异
将数据库还原到 SQL Server 否。 使用 BACPAC 或 BCP 而不是本机还原。 是的,仅限 SQL Server 2022。 有关详细信息,请查看将 SQL 托管实例数据库备份还原到 SQL Server 2022。 否则,请使用 BACPAC、BCP 或事务复制。
语义搜索
Service Broker 是的。 请参阅 Service Broker 差异
服务器配置设置 是,请参阅 T-SQL 差异
SET 语句 大多数,请参阅“单个语句” 是,请参阅 T-SQL 差异
SQL Server 代理 否,请参阅弹性作业(公共预览版) 是,请参阅 SQL Server 代理差异
SQL Server 审核 否,请参阅 SQL 数据库审核 是,请参阅审核差异
系统存储函数 大多数,请参阅“单个函数” 是,请参阅存储过程、函数和触发器差异
系统存储过程 部分,请参阅“单个存储过程” 是,请参阅存储过程、函数和触发器差异
系统表 部分,请参阅“单个表” 是,请参阅 T-SQL 差异
系统目录视图 部分,请参阅“单个视图” 是,请参阅 T-SQL 差异
TempDB 是的。 每个数据库的每个核心为 32GB 大小 是的。 整个 GP 层的每个 vCore 为 24GB 大小,受 BC 层上的实例大小限制
临时表 本地和数据库范围的全局临时表 本地和实例范围的全局临时表
时区选择 是,请参阅时区,必须在创建 SQL 托管实例时进行配置。
跟踪标志 是,但仅支持有限的全局跟踪标志集。 请参阅 DBCC 差异
事务复制 是,仅限事务性和快照复制订户 是,请参阅 SQL 托管实例中的复制限制
透明数据加密 (TDE) 是,请参阅适用于 Azure SQL 的 TDE 是,请参阅适用于 Azure SQL 的 TDE
Windows 身份验证 是,请参阅 Microsoft Entra 主体的 Windows 身份验证
Windows Server 故障转移群集 否。 每个数据库附带提供高可用性的其他技术。 简要介绍如何使用 Azure SQL 数据库确保业务连续性中对灾难恢复进行了讨论。 否。 每个数据库附带提供高可用性的其他技术。 简要介绍如何使用 Azure SQL 数据库确保业务连续性中对灾难恢复进行了讨论。

平台功能

Azure 平台提供许多 PaaS 功能,可以增大标准数据库功能的价值。 有许多外部服务可与 Azure SQL 数据库和 Azure SQL 托管实例配合使用。

平台功能 Azure SQL 数据库 Azure SQL 托管实例
活动异地复制 是,请参阅活动异地复制 - 所有服务层。 否,请参阅用作替代方案的故障转移组
自动缩放 是,但仅限无服务器模型。 在非服务器模式下,可以快速联机更改服务层级(更改 vCore、存储或 DTU)。 更改服务层级只会造成极短时间的停机,甚至不会导致任何停机。 否,需要选择预留的计算和存储。 可联机更改服务层级(vCore 或最大存储),只会造成极短时间的停机,甚至不会导致任何停机。
自动备份 是,请参阅 Azure SQL 数据库中的自动备份。 完整备份每 7 天一次,差异备份每 12 小时一次,日志备份每 5-10 分钟一次。 是,请参阅 Azure SQL 托管实例中的自动备份。 完整备份每 7 天一次,差异备份每 12 小时一次,日志备份每 5-10 分钟一次。
自动优化(索引) 是,请参阅自动优化
可用性区域
Azure 资源运行状况
短期备份保留 是,请参阅短期保留。 默认为 7 天,最长 35 天。 是,请参阅短期保留。 1-35 天,默认为 7 天。
Azure 数据库迁移服务 (DMS)
数据迁移服务 (DMA)
弹性作业 是,请参阅弹性作业(公共预览版) 不是。 使用 SQL 代理Azure 自动化
故障转移组 是,请参阅故障转移组 - 所有服务层。 是,请参阅故障转移组
文件系统访问 否。 使用 BULK INSERTOPENROWSET 作为替代方法来访问和加载 Azure Blob 存储中的数据。 否。 使用 BULK INSERTOPENROWSET 作为替代方法来访问和加载 Azure Blob 存储中的数据。
异地还原 是,请参阅异地还原 是,请参阅异地还原
长期保留 (LTR) 是,请参阅长期保留,将自动创建的备份最长保留 10 年。 是,请参阅长期保留,将自动创建的备份最长保留 10 年。
暂停/恢复 是,在无服务器模型
基于策略的管理
公共 IP 地址 是的。 访问权限可以使用防火墙或服务终结点来限制。 是的。 需要显式启用,且必须在 NSG 规则中启用端口 3342。 可根据需要禁用公共 IP。 有关更多详细信息,请参阅公共终结点
数据库时间点还原 是,请参阅时间点还原 是,请参阅时间点还原
资源池 是,用作弹性池 是的。 SQL 托管实例的单个实例可以包含多个共享同一资源池的数据库。
纵向扩展或缩减(联机) 是,可以更改 DTU、预留的 vCore 数或最大存储,这只会造成极短时间的停机。 是,可以更改预留的 vCore 数或最大存储,这只会造成极短时间的停机。
SQL 别名 否,使用 DNS 别名 否,请使用 Cliconfg 在客户端计算机上设置别名。
SQL 数据同步 是,请参阅 SQL 数据同步 否,请使用事务复制
SQL Server Analysis Services (SSAS) 否,Azure Analysis Services 是一项单独的 Azure 云服务。 否,Azure Analysis Services 是一项单独的 Azure 云服务。
SQL Server Integration Services (SSIS) 是,使用 Azure 数据工厂 (ADF) 环境中的托管 SSIS ,其中程序包存储在由 Azure SQL 数据库承载的 SSISDB 中并在 Azure SSIS 集成运行时 (IR) 上执行,请参阅在 ADF 中创建 Azure-SSIS IR

若要比较 SQL 数据库和 SQL 托管实例中的 SSIS 功能,请参阅比较 SQL 数据库和 SQL 托管实例
是,使用 Azure 数据工厂 (ADF) 环境中的托管 SSIS,其中包存储在由 SQL 托管实例托管的 SSISDB 中并在 Azure SSIS Integration Runtime (IR) 上执行,请参阅在 ADF 中创建 Azure-SSIS IR

若要比较 SQL 数据库和 SQL 托管实例中的 SSIS 功能,请参阅比较 SQL 数据库和 SQL 托管实例
SQL Server Reporting Services (SSRS) 否 - 请参阅 Power BI 否 - 请改用 Power BI 分页报表或在 Azure VM 上托管 SSRS。 虽然 SQL 托管实例不能将 SSRS 作为服务运行,但它可以使用 SQL Server 身份验证为安装在 Azure 虚拟机上的报表服务器托管 SSRS 目录数据库
Query Performance Insights (QPI) 否。 使用 SQL Server Management Studio 和 Azure Data Studio 中的内置报告。
VNet 部分支持,可以使用 VNet 终结点进行受限访问 是,SQL 托管实例注入到 VNet 中
VNet 服务终结点 是,请参阅虚拟网络服务终结点
VNet 全球对等互连 是,使用专用 IP 和服务终结点 是,使用虚拟网络对等互连
专用连接 是,使用专用链接 是,使用 VNet - 本地终结点或专用终结点

资源限制

下表比较了 Azure SQL 数据库和 Azure SQL 托管实例可用的最大资源限制:

类别 Azure SQL 数据库 Azure SQL 托管实例
计算大小 最多 80 个 vCore 最多 80 个 vCore
存储大小 1 GB - 100 TB 16 TB
Tempdb 大小 每个 vCore 32 GB,最多 2,560 GB 最大 4 TB - 受保留的存储大小限制
日志写入吞吐量 高达 100 MB/秒 每个虚拟核心 4.5 MB/秒(最大 192 MB/秒)
可用性 默认 SLA
99.995% 的 SLA(启用区域冗余
默认 SLA
备份 可以选择本地冗余 (LRS)、区域冗余 (ZRS) 或异地冗余 (GRS) 存储
1-35 天(默认值为 7 天)的保留期,最长的长期保留期为 10 年
选项:本地冗余 (LRS)、区域冗余 (ZRS)、异地冗余 (GRS) 存储
1-35 天(默认值为 7 天)的保留期,最长的长期保留期为 10 年
只读副本 具有 1-4 个高可用性副本或 1-30 个命名副本的读取扩展
0 - 4 异地副本
1 内置高可用性副本是可读的
0-1 使用故障转移组的异地副本
折扣模型 Azure 混合权益(在开发/测试订阅中不可用)
企业
Azure 混合权益(在开发/测试订阅中不可用)
企业

若要详细了解 Azure SQL 数据库的资源限制,请查看:

若要详细了解 Azure SQL 托管实例的资源限制,请查看:资源限制

工具

Azure SQL 数据库和 Azure SQL 托管实例支持各种可帮助管理数据的数据工具。

工具 Azure SQL 数据库 Azure SQL 托管实例
Azure 门户
Azure 门户查询编辑器
Azure CLI
Azure Data Studio
Azure PowerShell
BACPAC 文件(导出) 是,请参阅 SQL 数据库导出 是,请参阅 SQL 托管实例导出
BACPAC 文件(导入) 是,请参阅 SQL 数据库导入 是,请参阅 SQL 托管实例导入
Data Quality Services (DQS)
Master Data Services (MDS) 否。 在 Azure VM 上托管 MDS。 虽然 SQL 托管实例不能将 MDS 作为服务运行,但它可以使用 SQL Server 身份验证为安装在 Azure 虚拟机上的 MDS 服务托管 MDS 数据库
SMO 是,请参阅 SMO 是,从 SMO 版本 150 开始。
SQL Server Data Tools (SSDT)
SQL Server Management Studio (SSMS) 是,18.0 和更高版本
SQL Server PowerShell
SQL Server Profiler 否,请参阅扩展事件
System Center Operations Manager 是,请参阅适用于 Azure SQL 数据库的 Microsoft System Center 管理包 是,请参阅适用于 Azure SQL 托管实例的 Microsoft System Center 管理包

迁移方法

可以使用不同的迁移方法在 SQL Server、Azure SQL 数据库和 Azure SQL 托管实例之间移动数据。 某些方法是联机的,在运行迁移时,它们会拾取对源所做的全部更改;在脱机方法中,当迁移正在进行时,你需要停止正在修改源中数据的工作负载。

Source Azure SQL 数据库 Azure SQL 托管实例
SQL Server(本地、Azure VM、Amazon RDS) 联机:事务复制
脱机:数据迁移服务 (DMS)BACPAC 文件(导入)、BCP
联机:日志重播服务事务复制
脱机:本机备份/还原BACPAC 文件(导入)、BCP、快照复制
单一数据库 脱机:BACPAC 文件(导入)、BCP 脱机:BACPAC 文件(导入)、BCP
SQL 托管实例 联机:事务复制
联机:BACPAC 文件(导入)、BCP、快照复制
联机:数据库复制/移动预览版事务复制
脱机: 跨实例时间点还原(Azure PowerShellAzure CLI)、本机备份/还原BACPAC 文件(导入)、BCP、快照复制

后续步骤

若要详细了解 Azure SQL 数据库和 Azure SQL 托管实例,请参阅: