Azure Synapse Link for SQL 更改源

适用于:SQL Server 2022 (16.x) Azure SQL 数据库Azure Synapse Analytics

本文详细介绍了 Azure Synapse Link for SQL 更改源的工作原理,这是 SQL Server 2022 (16.x) 和 Azure SQL 数据库的新增功能。

SQL Server 2022 (16.x) 包含一项新功能,支持 SQL Server 表与 Microsoft Azure Synapse 平台之间的连接,这项新功能称为 Azure Synapse Link for SQL。 Azure Synapse Link for SQL 提供自动更改源,用于捕获 SQL Server 中的更改,并将其加载到 Azure Synapse Analytics 中。

此功能目前不支持 Azure SQL 托管实例。

注意

启用 Azure Synapse Link for SQL 将在源数据库的 changefeed 架构中创建一个 changefeed 数据库用户、一个 changefeed 架构和多个表。 请不要更改任何这些对象 - 它们是系统管理的。

登陆区域

有关适用于 SQL Server 的 Azure Synapse Link 的登陆区域的详细信息,请参阅适用于 SQL Server 的 Azure Synapse Link 的登陆区域

虽然适用于 SQL Server 的 Azure Synapse Link 涉及用户预配的 Azure 资源(包括 Azure Data Lake Storage (ADLS Gen2) 存储帐户),但适用于 Azure SQL 数据库的 Azure Synapse Link 完全托管,包括登陆区域预配,并使用本文中所述的类似更改检测过程。 有关详细信息,请参阅适用于 Azure SQL 数据库的 Azure Synapse Link

对于 SQL Server,登陆区域 Azure 存储位置由客户管理且可见,但不建议也不支持将其用于使用或修改登陆区域中的文件。

更改源功能

SQL Server 的管理员可以在空表或已包含数据的表上启用 Azure Synapse Link。 源表必须具有主键。

如果表中已包含数据,Azure Synapse Link 会将登陆区域种子设定为源表的初始完整快照。 将包含数据的现有 SQL Server 表添加到 Azure Synapse Link 时,将生成初始数据集的完整快照。 初始快照文件是一个 .parquet 格式化文件,该文件传输到 ADLS Gen2 中的登陆区域。

Azure Synapse Link 支持将源表更改以低延迟推送到 Azure 存储中的登陆区域。 更改源使用 CSV 文件将这些更改发布到 Azure Synapse。 这种表格格式可自然与以高节奏(按秒的顺序)写入行粒度数据更改保持一致。 大多数 CSV 文件应相对较小。

更改捕获

Azure Synapse Link 的更改捕获类似于现有变更数据捕获 (CDC) 技术。 变更数据源为 SQL Server 事务日志。 更改源读取日志,并将有关更改的信息添加到登陆区域。

CDC 的工作原理是通过获取事务日志来捕获对一个或多个源表执行的所有修改。

  • 在 CDC 中,更改数据在内部填充到数据库中的同级表。
  • 在 Azure Synapse Link 中,数据会直接从数据库事务日志读取,缓存在内存中,最终写入到 Azure 存储中的登陆区域。

如果发生存储中断,可能会导致登陆区域变得不可用,这会阻止向该登陆区域进行发布。 如果发生 SQL Server CDC 日志读取器代理失败或未运行等类似行为,则无法截断源数据库事务日志。 如果长时间的存储中断或存储配置更改导致无法访问,请通过 Synapse Studio 停止 Azure Synapse Link。

高可用性支持

适用于 SQL Server 的 Azure Synapse Link 与 Always On 可用性组和故障转移群集实例 (FCI) 兼容。

如果初始快照正在进行并因任何原因中断,则会重启初始快照导出过程。 如果 FCI 或同步可用性组中的 SQL Server 故障转移,则会属于这种情况。

Fabric 镜像数据库

Fabric 镜像数据库功能使用与 Azure Synapse Link 类似的更改源技术,并且共享一些系统对象。 有关详细信息,请参阅: