Microsoft SQL Server (MSSQL)
Airbyte 的认证 MSSQL 连接器提供以下功能
- 多种保持数据新鲜的方法,包括使用 变更数据捕获 (CDC) 使用 SQL Server 的 CDC 功能。
- 增量以及全量刷新 同步模式,为数据传递到目标提供灵活性。
- 通过 检查点 和数据库读取分块,可靠地复制任何大小的表。
⚠️ 请注意,运行 source-mssql 4.0.18 及更高版本的最低所需平台版本为 v0.58.0。
功能
| 功能 | 支持 | 备注 |
|---|---|---|
| 完全刷新同步 | 是 | |
| 增量同步 - 追加 | 是 | |
| 复制增量删除 | 是 | |
| CDC(变更数据捕获) | 是 | |
| SSL 支持 | 是 | |
| SSH 隧道连接 | 是 | |
| 命名空间 | 是 | 默认启用 |
MSSQL 源不会更改数据库中存在的模式。但是,根据连接到此源的目标,模式可能会被更改。有关更多详细信息,请参阅目标的文档。
入门
要求
- MSSQL Server
Azure SQL Database,Azure Synapse Analytics,Azure SQL Managed Instance,SQL Server 2022,SQL Server 2019,SQL Server 2017,SQL Server 2016,SQL Server 2014,SQL Server 2012,PDW 2008R2 AU34。 - 为复制所需的所有表创建一个专用的只读 Airbyte 用户
- 如果您想使用 CDC,请参阅 下面的相关部分 以获取进一步的设置要求
1. 确保您的数据库可以从运行 Airbyte 的机器访问
这取决于您的网络设置。验证 Airbyte 是否能够连接到您的 MSSQL 实例的最简单方法是使用 UI 中的检查连接工具。
2. 创建一个具有访问相关表权限的专用只读用户(推荐但可选)
此步骤是可选的,但强烈建议允许更好的权限控制和审计。或者,您可以使用 Airbyte 使用数据库中的现有用户。
3. 您的数据库用户现在已准备好与 Airbyte 一起使用!
Airbyte Cloud
在 Airbyte Cloud 上,仅支持源配置中与 MSSQL 实例的安全连接。您可以配置使用支持的 SSL 方法之一,或使用 SSH 隧道。
变更数据捕获 (CDC)
我们使用 SQL Server 的变更数据捕获功能 和事务日志来捕获 CDC 启用表上发生的行级 INSERT、UPDATE 和 DELETE 操作。
一些额外的设置需要至少在您打算从中同步的数据库上具有 db_owner 权限(详细信息请参见 下面)。
请阅读 CDC 文档 以了解 Airbyte 处理 CDC 的概述。
我应该为 MSSQL 使用 CDC 吗?
- 如果您需要删除记录并且可以接受以下限制,那么 CDC 是最佳选择!
- 如果您的数据集很小,或者您只想在目标中获取表的快照,请考虑使用全量刷新复制您的表,而不是 CDC。
- 如果以下限制阻止您使用 CDC,并且您的目标是在目标中维护表的快照,请考虑使用非 CDC 增量同步,并偶尔重置数据并重新同步。
- 如果您的表具有主键,但没有合理的游标字段用于增量同步(例如
updated_at),则 CDC 允许您增量同步表。
CDC 限制
- 请务必阅读我们的 CDC 文档,以了解影响使用 CDC 复制的所有数据库的限制。
hierarchyid和sql_variant类型在 CDC 迁移类型中未处理(Debezium 不支持)。有关更多详细信息,请查看 此工单- CDC 仅适用于 SQL Server 2016 Service Pack 1 (SP1) 及更高版本。
- db_owner(或更高)权限对于执行 必要的设置 CDC 是必需的。
- 在 Linux 上,CDC 不支持早于 SQL Server 2017 CU18 的版本(SQL Server 2019 受支持)。
- 无法对具有聚簇列存储索引的表启用变更数据捕获。(可以对具有非聚簇列存储索引的表启用变更数据捕获)。
- SQL Server CDC 功能仅处理用户创建的表中的更改。您无法在 SQL Server master 数据库上启用 CDC。
- 在数据库或表上使用带有分区切换的变量对于
ALTER TABLE...SWITCH TO...PARTITION... 语句不支持 CDC。 - CDC 增量同步仅适用于具有至少一个主键的表。没有主键的表仍然可以通过 CDC 进行复制,但仅以全量刷新模式。有关 CDC 限制的更多信息,请参阅我们的 CDC 限制文档。
- 我们的 CDC 实现对所有变更记录使用至少一次传递。
- 有关 CDC 限制的更多信息,请阅读 Microsoft 文档。
设置 MSSQL 的 CDC
1. 在数据库和表上启用 CDC
MS SQL Server 提供了一些内置的存储过程来启用 CDC。
-
要启用 CDC,具有必要权限(db_owner 或 sysadmin)的 SQL Server 管理员必须首先运行查询以在数据库级别启用 CDC。
USE {database name}
GO
EXEC sys.sp_cdc_enable_db
GO -
然后,管理员必须为要捕获的每个表启用 CDC。这是一个例子
USE {database name}
GO
EXEC sys.sp_cdc_enable_table
@source_schema = N'{schema name}',
@source_name = N'{table name}',
@role_name = N'{role name}', [1]
@filegroup_name = N'{filegroup name}', [2]
@supports_net_changes = 0 [3]
GO- [1] 指定将获得源表捕获列的
SELECT权限的角色。我们建议在此处放置一个值,以便您可以在下一步中使用此角色,但您也可以将 @rolename 的值设置为NULL,以允许只有 _sysadmin 和 db_owner 具有访问权限。确保用于连接到源的凭据与 Airbyte 中的此角色一致,以便 Airbyte 可以访问 cdc 表。 - [2] 指定 SQL Server 放置更改表的存储组。我们建议为 CDC 创建一个单独的存储组,但您可以省略此参数以使用默认存储组。
- [3] 如果为 0,则仅生成查询所有更改的函数。如果为 1,则还会生成查询净更改所需的函数。如果 supports_net_changes 设置为 1,则必须指定 index_name,或者源表必须定义主键。
- [1] 指定将获得源表捕获列的
-
(有关更多参数详细信息,请参阅 Microsoft 文档页面 此存储过程)。
-
如果您有很多表要启用 CDC,并且想避免逐个运行此查询,此脚本 可能会有所帮助!
有关更多详细信息,请参阅 Microsoft 文档关于启用和禁用 CDC。
2. 启用快照隔离
-
当使用 CDC 运行同步时,Airbyte 会执行数据库的初始一致性快照。为了避免获取表锁,Airbyte 使用快照隔离,允许其他数据库客户端同时进行写入。必须像这样在数据库上启用它
ALTER DATABASE {database name}
SET ALLOW_SNAPSHOT_ISOLATION ON;
3. 创建用户并授予适当的权限
-
与其使用sysadmin 或 db_owner 凭据,我们建议创建一个具有 Airbyte 相关 CDC 访问权限的新用户。首先让我们创建登录名和用户,并将其添加到 db_datareader 角色
USE {database name};
CREATE LOGIN {user name}
WITH PASSWORD = '{password}';
CREATE USER {user name} FOR LOGIN {user name};
EXEC sp_addrolemember 'db_datareader', '{user name}';-
将用户添加到先前在表(们)上启用 cdc 时指定的角色
EXEC sp_addrolemember '{role name}', '{user name}'; -
这应该足够访问权限,但如果遇到问题,请尝试直接授予用户 cdc schema 上的
SELECT访问权限USE {database name};
GRANT SELECT ON SCHEMA :: [cdc] TO {user name}; -
如果可行,授予此用户 'VIEW SERVER STATE' 权限将允许 Airbyte 检查 SQL Server Agent 是否正在运行。这是首选方法,因为它确保同步将在源数据库中 CDC 表未由 Agent 更新时失败。
USE master;
GRANT VIEW SERVER STATE TO {user name};
-
4. 延长 CDC 数据的保留期限
-
在 SQL Server 中,默认情况下,更改表仅保留三天的历史数据。除非您运行非常频繁的同步,否则我们建议增加此保留期限,以便在同步失败或同步暂停的情况下,仍然可以从上次增量同步的点开始。
-
可以使用存储过程 sys.sp_cdc_change_job 更改这些设置,如下所示
-- we recommend 14400 minutes (10 days) as retention period
EXEC sp_cdc_change_job @job_type='cleanup', @retention = {minutes} -
进行此更改后,需要重新启动清理作业
EXEC sys.sp_cdc_stop_job @job_type = 'cleanup';
EXEC sys.sp_cdc_start_job @job_type = 'cleanup';
- 如果您使用的是事务复制,则必须使用以下脚本更改保留期限
EXEC sp_changedistributiondb
@database = 'distribution',
@property = 'max_distretention',
@value = 14400 -- 14400 minutes (10 days)
EXEC sp_changedistributiondb
@database = 'distribution',
@property = 'history_retention',
@value = 14400 -- 14400 minutes (10 days)
USE [msdb]
GO
EXEC msdb.dbo.sp_update_jobstep @job_name=N'Distribution clean up: distribution', @step_id=1 ,
@command=N'EXEC dbo.sp_MSdistribution_cleanup @min_distretention = 0, @max_distretention = 14400'
GO
5. 确保 SQL Server Agent 正在运行
-
MSSQL 使用 SQL Server Agent
因此,Agent 的运行对于 CDC 有效工作至关重要。您可以检查
SQL Server Agent 的状态如下
EXEC xp_servicecontrol 'QueryState', N'SQLServerAGENT';
-
如果您看到的状态不是“正在运行”,请按照
来启动服务。
通过 SSH 隧道连接到 MSSQL
Airbyte 能够通过 SSH 隧道连接到 MSSQL 实例。您可能需要这样做,因为无法(或违反安全策略)直接连接到数据库(例如,它没有公共 IP 地址)。
在使用 SSH 隧道时,您正在配置 Airbyte 连接到一台中间服务器(又名 bastion 服务器),该服务器确实可以直接访问数据库。Airbyte 连接到 bastion,然后要求 bastion 直接连接到服务器。
使用此功能需要在创建源时进行额外的配置。我们将讨论每个配置项的含义。
-
像往常一样配置源的所有字段,除了
SSH 隧道方法。 -
SSH 隧道方法默认为无隧道(意味着直接连接)。如果您想使用SSH 隧道,请选择
SSH 密钥身份验证或密码身份验证。-
如果您将使用 RSA 私钥作为您的密钥来
建立 SSH 隧道,请选择
密钥身份验证(有关生成此密钥的更多信息,请参见下文)。 -
如果您将使用密码作为您的密钥来建立
SSH 隧道,请选择
密码身份验证。
-
-
SSH 隧道跳跃服务器主机指的是 Airbyte 将连接到的中间(堡垒)服务器。这应该是一个主机名或 IP 地址。
-
SSH 连接端口是在堡垒服务器上用于建立 SSH 连接的端口。SSH 连接的默认端口是22,因此,除非您显式更改了某些内容,否则请使用默认值。 -
SSH 登录用户名是 Airbyte 在连接到堡垒服务器时应使用的用户名。这 *不是*MSSQL 用户名。
-
如果您使用
密码身份验证,则SSH 登录用户名应设置为上一步骤中用户的密码。如果您使用
SSH 密钥身份验证,请将其留空。同样,这不是 MSSQL 密码,而是 Airbyte
用于在堡垒上执行命令的操作系统用户的密码。
-
如果您使用
SSH 密钥身份验证,则SSH 私钥应设置为您用于创建 SSH 连接的 RSA私钥。这应该是从
-----BEGIN RSA PRIVATE KEY-----开始并以
-----END RSA PRIVATE KEY-----结尾的完整密钥文件内容。
生成 SSH 密钥对
连接器需要 PEM 格式的 RSA 密钥。要生成此密钥
ssh-keygen -t rsa -m PEM -f myuser_rsa
这将在 pem 格式中生成私钥,并且公钥将保留在 bastion 主机上用于 authorized_keys 文件的标准格式中。应将公钥添加到 bastion 主机,以用于您希望与 Airbyte 一起使用的用户。私钥通过复制粘贴提供给 Airbyte 连接器配置屏幕,因此它可能会登录到 bastion。
数据类型映射
同步数据时,MSSQL 数据类型映射到以下数据类型。您可以在 此处 检查测试值示例。如果您找不到您正在查找的数据类型或遇到任何问题,请随时添加新的测试!
| MSSQL 类型 | 结果类型 | 备注 |
|---|---|---|
bigint | 数字 | |
二进制 | 字符串 | |
bit | 布尔值 | |
char | 字符串 | |
日期 | 日期 | |
datetime | 时间戳 | |
datetime2 | 时间戳 | |
datetimeoffset | 带时区的日期时间 | |
十进制 | 数字 | |
int | 数字 | |
浮点数 | 数字 | |
geography | 字符串 | |
geometry | 字符串 | |
money | 数字 | |
numeric | 数字 | |
ntext | 字符串 | |
nvarchar | 字符串 | |
nvarchar(max) | 字符串 | |
real | 数字 | |
smalldatetime | 时间戳 | |
smallint | 数字 | |
smallmoney | 数字 | |
sql_variant | 字符串 | |
uniqueidentifier | 字符串 | |
文本 | 字符串 | |
时间 | 时间 | |
tinyint | 数字 | |
varbinary | 字符串 | |
varchar | 字符串 | |
varchar(max) COLLATE Latin1_General_100_CI_AI_SC_UTF8 | 字符串 | |
xml | 字符串 |
如果您在此列表中看不到一种类型,请假定它被强制转换为字符串。我们欢迎您对首选映射提出反馈。
升级到版本 4.3.0 及以上版本
版本 4.3.0 引入了从旧 CDK 到新 CDK 架构的迁移。此迁移包括
- 自动状态迁移:连接器自动将旧版本 2 状态格式迁移到新版本 3 格式。这包括
OrderedColumnLoadStatus(基于主键的初始同步)→ 版本 3primary_key状态类型CursorBasedStatus(基于游标的增量)→ 版本 3cursor_based状态类型
- 向后兼容性:现有连接将继续无缝工作,无需手动干预
从 0.4.17 及更早版本升级到 0.4.18 及更高版本
Microsoft SQL Source 连接器版本 0.4.17 和 0.4.18 之间存在不兼容的规范更改。作为该规范更改的一部分,replication_method 配置参数从 string 更改为 object。
在 Microsoft SQL source 连接器版本 0.4.17 及更早版本中,replication_method 配置参数以以下方式保存在配置数据库中
"replication_method": "STANDARD"
从版本 0.4.18 开始,replication_method 配置参数保存如下
"replication_method": {
"method": "STANDARD"
}
升级 Microsoft SQL Source 连接器从 0.4.17 或更早版本到 0.4.18 或更高版本后,您需要在 Airbyte 数据库中的 actor 表中修复源配置。为此,您需要运行两个 SQL 查询。请按照 Airbyte 文档 中的说明在 Airbyte 数据库上运行 SQL 查询。
如果您有使用 Standard 复制方法的连接,请运行此 SQL
update public.actor set configuration =jsonb_set(configuration, '{replication_method}', '{"method": "STANDARD"}', true)
WHERE actor_definition_id ='b5ea17b1-f170-46dc-bc31-cc744ca984c1' AND (configuration->>'replication_method' = 'STANDARD');
如果您有使用 Logicai Replication (CDC) 方法的连接,请运行此 SQL
update public.actor set configuration =jsonb_set(configuration, '{replication_method}', '{"method": "CDC"}', true)
WHERE actor_definition_id ='b5ea17b1-f170-46dc-bc31-cc744ca984c1' AND (configuration->>'replication_method' = 'CDC');
参考
配置字段参考
变更日志
展开以查看
| 版本 | 日期 | 拉取请求 | 主题 |
|---|---|---|---|
| 4.3.2 | 2025-12-11 | 70836 | 添加 Azure SQL Database 兼容性以进行 SQL Server Agent 检查 |
| 4.3.1 | 2025-12-09 | 70823 | 将连接器版本号提高到发布连接器 |
| 4.3.0-rc.10 | 2025-12-05 | 70306 | 更新 CDK 版本以包含修复 Debezium 关闭记录竞争条件 |
| 4.3.0-rc.9 | 2025-12-01 | 70280 | 修复连接器并发默认值 |
| 4.3.0-rc.8 | 2025-11-14 | 69754 | 更新到最新的 CDK 版本 |
| 4.3.0-rc.7 | 2025-11-14 | 69327 | 更改默认模式以发现所有模式而不是“dbo” |
| 4.3.0-rc.6 | 2025-11-12 | 69311 | 修复状态迁移中 incremental_state 为 null 时的 NPE;将 resourceAcquisitionHeartbeat 降低到 100ms;升级 CDK 版本 |
| 4.3.0-rc.5 | 2025-11-08 | 69248 | 添加 SQL Server 标识符引用以修复保留关键字问题 |
| 4.3.0-rc.4 | 2025-11-05 | 69194 | 修复复合主键发现以显示所有 PK 列;将 PK 发现与同步策略分开 |
| 4.3.0-rc.3 | 2025-10-31 | 69097 | 修复状态解析错误,适用于整数和数字 |
| 4.3.0-rc.2 | 2025-10-29 | 69093 | 修复整数和数字的状态解析错误 |
| 4.3.0-rc.1 | 2025-10-28 | 63731 | 将源 mssql 从旧 CDK 迁移到新 CDK |
| 4.2.6 | 2025-10-14 | 68091 | 修复 CDC 表过滤以防止在使用模式级别 CDC 时同步意外的表 |
| 4.2.5 | 2025-08-13 | 64905 | 提高 mssql 的 java cdk 版本 |
| 4.2.4 | 2025-07-03 | 62491 | 通过配置轮询间隔参数来提高 Debezium 的性能。 |
| 4.2.3 | 2025-07-01 | 62052 | 还原对 CDK 接口签名的更改。 |
| 4.2.2 | 2025-06-25 | 61729 | 支持在 CDC 中使用逻辑主键。 |
| 4.2.1 | 2025-06-23 | 62015 | 修复之前的合并。改进截止日期处理 |
| 4.2.0 | 2025-06-19 | 61685 | 添加一个选项,以在使用时间游标(datetime)时从基于游标的增量同步中排除今天的日期。 |
| 4.1.29 | 2025-06-03 | 61320 | 添加连接问题的错误处理并采用最新的 CDK 版本。 |
| 4.1.28 | 2025-05-15 | 60311 | 迁移到新的 gradle 流。 |
| 4.1.27 | 2025-04-28 | 59124 | 修复 addMetaDataToRowsFetchedOutsideDebezium 方法中的 _ab_cdc_event_serial_no 数据类型 |
| 4.1.26 | 2025-03-27 | 56401 | 修复非唯一值聚簇索引问题 |
| 4.1.25 | 2025-03-20 | 55878 | 集成最新的 mssql jdbc 驱动程序以解决一个预格里高利日期偏移错误 |
| 4.1.24 | 2025-03-11 | 55709 | 过滤发现中不需要的表以防止空表问题 |
| 4.1.23 | 2025-03-06 | 55234 | 更新认证的 DB 源连接器的基本镜像版本 |
| 4.1.22 | 2025-02-10 | 53217 | 当聚簇索引为复合索引时,默认为 PK。 |
| 4.1.21 | 2025-02-21 | 54189 | 仅在调试日志中打印状态数据。 |
| 4.1.20 | 2025-01-26 | 52556 | 改进读取期间的表发现。 |
| 4.1.19 | 2025-01-16 | 51596 | 升级驱动版本至最新 (jdbc, debezium, cdk) |
| 4.1.18 | 2025-01-06 | 50943 | 使用 airbyte/java-connector-base:2.0.0。这使得镜像无root权限。连接器将与 Airbyte < 0.64 不兼容。 |
| 4.1.17 | 2024-12-17 | 49840 | 使用基础镜像:airbyte/java-connector-base:1.0.0 |
| 4.1.16 | 2024-11-13 | 48484 | 增强了 MSSQL 的错误处理,以改善系统错误检测和响应。 |
| 4.1.15 | 2024-10-05 | 46515 | 改进大型 SQL Server 数据库的发现。 |
| 4.1.14 | 2024-09-17 | 45639 | 采用最新的 CDK 以使用最新的 apache sshd mina 来处理 tcpkeepalive 请求。 |
| 4.1.13 | 2024-09-05 | 45181 | 修复可恢复/不可恢复的全量刷新流的错误分类。 |
| 4.1.12 | 2024-09-10 | 45368 | 移除过多的 debezium 日志记录。 |
| 4.1.11 | 2024-09-04 | 45142 | 修复游标状态中的 datetimeoffset 格式错误。 |
| 4.1.10 | 2024-08-27 | 44759 | 改进解析 debezium 变更事件中的空值安全性。 |
| 4.1.9 | 2024-08-27 | 44841 | 采用最新的 CDK。 |
| 4.1.8 | 2024-08-08 | 43410 | 采用最新的 CDK。 |
| 4.1.7 | 2024-08-06 | 42869 | 采用最新的 CDK。 |
| 4.1.6 | 2024-07-30 | 42550 | 正确报告流状态。 |
| 4.1.5 | 2024-07-29 | 42852 | 将 CDK 版本升级到最新版本,以使用错误翻译的新错误修复。 |
| 4.1.4 | 2024-07-23 | 42421 | 移除最终的瞬态错误发射器迭代器。 |
| 4.1.3 | 2024-07-22 | 42411 | |
| 4.1.2 | 2024-07-22 | 42024 | 修复从失败尝试恢复时的 NPE 错误。 |
| 4.1.1 | 2024-07-19 | 42122 | 改进 wass 错误消息 + 日志记录。 |
| 4.1.0 | 2024-07-17 | 42078 | WASS 分析 + 错误修复。 |
| 4.0.36 | 2024-07-17 | 41648 | 实现 WASS。 |
| 4.0.35 | 2024-07-05 | 40570 | 将 debezium-connector-sqlserver 从 2.6.1.Final 升级到 2.6.2.Final。 |
| 4.0.34 | 2024-07-01 | 40516 | 删除 dbz 心跳。 |
| 4.0.33 | 2024-06-30 | 40638 | 修复一个错误,该错误可能导致使用与主键不同的聚集索引的表初始加载速度变慢。 |
| 4.0.32 | 2024-06-26 | 40558 | 正确处理 DatetimeOffset。 |
| 4.0.31 | 2024-06-14 | 39419 | 正确处理 DatetimeOffset。 |
| 4.0.30 | 2024-06-14 | 39349 | 全量刷新流发送内部计数元数据。 |
| 4.0.29 | 2024-06-14 | 39506 | 采用最新的 CDK。 |
| 4.0.28 | 2024-06-08 | 39342 | 修复 CDC 中 datetimeoffset 类型的自定义转换。 |
| 4.0.27 | 2024-05-29 | 38584 | 在 discover 中设置 is_resumable 标志。 |
| 4.0.26 | 2024-05-16 | 38292 | 改进游标值查询,仅返回一行。 |
| 4.0.25 | 2024-05-29 | 38775 | 发布 CDK |
| 4.0.24 | 2024-05-23 | 38640 | 同步发送跟踪状态消息,指示进度。 |
| 4.0.23 | 2024-05-15 | 38208 | 在状态消息中禁用全量刷新流中的计数。 |
| 4.0.22 | 2024-05-14 | 38196 | 将 jdbc 驱动版本升级到 12.6.1.jre11 |
| 4.0.21 | 2024-05-07 | 38054 | 可恢复的刷新应该仅在定义了源主键时运行。 |
| 4.0.20 | 2024-05-07 | 38042 | 将 debezium 版本升级到最新版本。 |
| 4.0.19 | 2024-05-07 | 38029 | 修复之前的发布。 |
| 4.0.18 | 2024-04-30 | 37451 | 可恢复的全量刷新读取表。 |
| 4.0.17 | 2024-05-02 | 37781 | 采用最新的 CDK。 |
| 4.0.16 | 2024-05-01 | 37742 | 采用最新的 CDK。移除 Debezium 重试。 |
| 4.0.15 | 2024-04-22 | 37541 | 采用最新的 CDK。减少过多的日志记录。 |
| 4.0.14 | 2024-04-22 | 37476 | 采用最新的 CDK。 |
| 4.0.13 | 2024-04-16 | 37111 | 填充记录消息中的空值。 |
| 4.0.12 | 2024-04-15 | 37326 | 允许最多等待 60 分钟以获取初始 CDC 记录。 |
| 4.0.11 | 2024-04-15 | 37325 | 填充 airbyte_meta.changes + 错误处理。 |
| 4.0.10 | 2024-04-15 | 37110 | 内部清理。 |
| 4.0.9 | 2024-04-10 | 36919 | 修复空值转换中的一个错误。 |
| 4.0.8 | 2024-04-05 | 36872 | 更新连接器的元数据定义。 |
| 4.0.7 | 2024-04-03 | 36772 | 采用最新的 CDK。 |
| 4.0.6 | 2024-03-25 | 36333 | 弃用 Dbz 状态迭代器。 |
| 4.0.5 | 2024-03-21 | 36364 | 允许最多等待 40 分钟以获取初始 CDC 记录。 |
| 4.0.4 | 2024-03-20 | 36325 | [重构]:移除 mssql 初始源操作。 |
| 4.0.3 | 2024-03-19 | 36263 | 修复在包含默认值的表中的 CDC 中遇到的故障。 |
| 4.0.2 | 2024-03-06 | 35792 | 初始同步现在将在状态消息中发送记录计数。 |
| 4.0.1 | 2024-03-12 | 36011 | 正确读取具有默认值的列的空值,用于 CDC。 |
| 4.0.0 | 2024-03-06 | 35873 | 支持 TB 级表,可靠性改进,错误修复。 |
| 3.7.7 | 2024-03-06 | 35816 | 修复在区分大小写服务器上失败的查询。 |
| 3.7.6 | 2024-03-04 | 35721 | 修复测试 |
| 3.7.5 | 2024-02-29 | 35739 | 允许配置用于 cdc 事件的队列大小。 |
| 3.7.4 | 2024-02-26 | 35566 | 添加配置以在无效的 CDC 位置时抛出错误。 |
| 3.7.3 | 2024-02-23 | 35596 | 修复一个日志记录问题 |
| 3.7.2 | 2024-02-21 | 35368 | 更改查询语法,使其与 Azure SQL 托管实例兼容。 |
| 3.7.1 | 2024-02-20 | 35405 | 更改查询语法,使其与 Azure Synapse 兼容。 |
| 3.7.0 | 2024-01-30 | 33311 | 带有检查点的初始同步的源 mssql。 |
| 3.6.1 | 2024-01-26 | 34573 | 采用 CDK v0.16.0。 |
| 3.6.0 | 2024-01-10 | 33700 | 移除 CDC 配置选项,用于 data_to_sync 和快照隔离。 |
| 3.5.1 | 2024-01-05 | 33510 | 仅测试更改。 |
| 3.5.0 | 2023-12-19 | 33071 | 修复 SSL 配置参数 |
| 3.4.1 | 2024-01-02 | 33755 | 将二进制编码为 base64 格式 |
| 3.4.0 | 2023-12-19 | 33481 | 移除 LEGACY 状态标志 |
| 3.3.2 | 2023-12-14 | 33505 | 使用发布的 CDK。 |
| 3.3.1 | 2023-12-12 | 33225 | 将 MsSql 特定的文件从 CDK 中提取出来。 |
| 3.3.0 | 2023-12-12 | 33018 | 迁移到每流/全局状态,并远离旧状态。 |
| 3.2.1 | 2023-12-11 | 33330 | 当用作游标时,使用正确的格式解析 DatetimeOffset 字段。 |
| 3.2.0 | 2023-12-07 | 33225 | CDC:启用状态中模式历史记录 blob 的压缩。 |
| 3.1.0 | 2023-11-28 | 32882 | 强制在 Airbyte Cloud 上使用 SSL。 |
| 3.0.2 | 2023-11-27 | 32573 | 将 Datetime 和 Datetime2 数据类型格式化为 6 位微秒精度。 |
| 3.0.1 | 2023-11-22 | 32656 | 采用 java CDK 版本 0.5.0。 |
| 3.0.0 | 2023-11-07 | 31531 | 将 date、smalldatetime、datetime2、time 和 datetimeoffset 数据类型重新映射到其正确的 Airbyte 类型。 |
| 2.0.4 | 2023-11-06 | #32193 | 采用 java CDK 版本 0.4.1。 |
| 2.0.3 | 2023-10-31 | 32024 | 升级到 Debezium 版本 2.4.0。 |
| 2.0.2 | 2023-10-30 | 31960 | 采用 java CDK 版本 0.2.0。 |
| 2.0.1 | 2023-08-24 | 29821 | 将复制方法显示类型设置为单选按钮,更新标题和描述,并将 CDC 设置为默认选择。 |
| 2.0.0 | 2023-08-22 | 29493 | 为 Cdc 模式设置默认游标 |
| 1.1.1 | 2023-07-24 | 28545 | 支持 Read Committed 快照隔离级别 |
| 1.1.0 | 2023-06-26 | 27737 | 许可证更新:Elv2 |
| 1.0.19 | 2023-06-20 | 27212 | 修复 StreamingJdbcDatabase 中的静默异常吞噬 |
| 1.0.18 | 2023-06-14 | 27335 | 移除嘈杂的调试日志 |
| 1.0.17 | 2023-05-25 | 26473 | CDC:限制队列大小 |
| 1.0.16 | 2023-05-01 | 25740 | 禁用索引日志记录 |
| 1.0.15 | 2023-04-26 | 25401 | CDC:升级 Debezium 到版本 2.2.0 |
| 1.0.14 | 2023-04-19 | 25345 | 日志记录:记录每个流的数据库索引 |
| 1.0.13 | 2023-04-19 | 24582 | CDC:重构以提高性能 |
| 1.0.12 | 2023-04-17 | 25220 | 日志记录变更:记录其他元数据 & 清理嘈杂的日志 |
| 1.0.11 | 2023-04-11 | 24656 | CDC 次要重构 |
| 1.0.10 | 2023-04-06 | 24820 | 修复在初始失败的非 CDC 增量同步期间的数据丢失错误 |
| 1.0.9 | 2023-04-04 | 24833 | 修复 Debezium 重试策略配置 |
| 1.0.8 | 2023-03-28 | 24166 | 修复 Debezium 关闭期间的 InterruptedException 错误 |
| 1.0.7 | 2023-03-27 | 24373 | 为 CDC 检查点准备连接器 |
| 1.0.6 | 2023-03-22 | 20760 | 移除冗余的日期时间数据类型格式化 |
| 1.0.5 | 2023-03-21 | 24207 | 修复 CDC 模式下的不正确的模式变更警告 |
| 1.0.4 | 2023-03-21 | 24275 | 修复 CDC 检查点错误 |
| 1.0.3 | 2023-03-15 | 24082 | 修复游标值验证期间的 NPE |
| 1.0.2 | 2023-03-14 | 23908 | 记录空游标值的警告 |
| 1.0.1 | 2023-03-10 | 23939 | 为了网络隔离,源连接器接受一个允许连接的主机列表 |
| 1.0.0 | 2023-03-06 | 23112 | 升级 Debezium 版本到 2.1.2 |
| 0.4.29 | 2023-02-24 | 16798 | 将 event_serial_no 添加到 cdc 元数据 |
| 0.4.28 | 2023-01-18 | 21348 | 修复在 18959 中引入的错误,该错误删除了选项 initial_waiting_seconds |
| 0.4.27 | 2022-12-14 | 20346 | 整合 JDBC 源的日期/时间值映射 |
| 0.4.26 | 2022-12-12 | 18959 | CDC:如果快照未完成,则不要超时。 |
| 0.4.25 | 2022-11-04 | 18732 | 将 debezium 版本升级到 1.9.6 |
| 0.4.24 | 2022-10-25 | 18383 | 更好的 SSH 错误处理 + 消息 |
| 0.4.23 | 2022-10-21 | 18263 | 修复 15833 中引入的错误,并为目标中的 SSH 隧道添加更好的错误消息 |
| 0.4.22 | 2022-10-19 | 18087 | 更好的配置错误消息(SSH 配置,选择无效的游标) |
| 0.4.21 | 2022-10-17 | 18041 | 修复 2022-09-12 在 SshTunnel 中引入的错误,正确处理迭代器异常 |
| 2022-10-13 | 15535 | 更新增量查询以避免在非 CDC 增量模式下同步开始时同时插入新数据时丢失数据 | |
| 0.4.20 | 2022-09-14 | 15668 | 将日志包装在 AirbyteLogMessage 中 |
| 0.4.19 | 2022-09-05 | 16002 | 添加了在设置连接器时,在发现期间指定模式的能力 |
| 0.4.18 | 2022-09-03 | 14910 | 标准化 CDC 复制的规范。将 replication_method 枚举替换为带有 method 枚举字段的配置对象。 |
| 0.4.17 | 2022-09-01 | 16261 | 更频繁地发出状态消息 |
| 0.4.16 | 2022-08-18 | 14356 | DB 源:仅当至少有一个列可以用作游标字段时,才显示表可以增量同步 |
| 0.4.15 | 2022-08-11 | 15538 | 允许在 db 流状态中添加其他属性 |
| 0.4.14 | 2022-08-10 | 15430 | 修复了处理数据库名称中的特殊字符的错误 |
| 0.4.13 | 2022-08-04 | 15268 | 添加了 [] 括起来以转义数据库名称中的特殊字符 |
| 0.4.12 | 2022-08-02 | 14801 | 修复多个日志绑定 |
| 0.4.11 | 2022-07-22 | 14714 | 澄清无效游标列选择时的错误消息 |
| 0.4.10 | 2022-07-14 | 14574 | 移除 additionalProperties:false来自 JDBC 源连接器 |
| 0.4.9 | 2022-07-05 | 14379 | 对齐 Normal 和 CDC 迁移 + 添加了一些数据类型处理的修复 |
| 0.4.8 | 2022-06-24 | 14121 | 在 CDC 中省略 Azure SQL 上的 'USE' 关键字 |
| 0.4.5 | 2022-06-23 | 14077 | 使用新的状态管理 |
| 0.4.3 | 2022-06-17 | 13887 | 增加版本以包含来自 13854 的更改 |
| 0.4.2 | 2022-06-06 | 13435 | 根据最大内存和最大行大小调整 JDBC 获取大小 |
| 0.4.1 | 2022-05-25 | 13419 | 更正 Standard 方法的枚举。 |
| 0.4.0 | 2022-05-25 | 12759 13168 | 对于 CDC,添加选项以忽略现有数据并仅同步数据库中的新更改。 |
| 0.3.22 | 2022-04-29 | 12480 | 查询表,使用自适应获取大小来优化 JDBC 内存消耗 |
| 0.3.21 | 2022-04-11 | 11729 | 将 mina-sshd 从 2.7.0 升级到 2.8.0 |
| 0.3.19 | 2022-03-31 | 11495 | 添加了对中文 MSSQL Server Agent 的支持 |
| 0.3.18 | 2022-03-29 | 11010 | 添加了 JDBC 参数 |
| 0.3.17 | 2022-02-21 | 10242 | 修复旧连接器的游标,这些连接器使用非微秒格式。现在连接器支持这两种格式 |
| 0.3.16 | 2022-02-18 | 10242 | 更新带有微秒的时间戳转换 |
| 0.3.15 | 2022-02-14 | 10256 | 添加 -XX:+ExitOnOutOfMemoryError JVM 选项 |
| 0.3.14 | 2022-01-24 | 9554 | 允许在 CDC 中处理 java sql date |
| 0.3.13 | 2022-01-07 | 9094 | 添加了对缺失数据类型的支持 |
| 0.3.12 | 2021-12-30 | 9206 | 更新连接器字段标题/描述 |
| 0.3.11 | 2021-12-24 | 8958 | 添加了对 JdbcType.ARRAY 的支持 |
| 0.3.10 | 2021-12-01 | 8371 | 修复 ssh 密钥中的不正确的处理 "\n" |
| 0.3.9 | 2021-11-09 | 7748 | 改进了对二进制和 varbinary 数据类型的支持 |
| 0.3.8 | 2021-10-26 | 7386 | 修复了从 mssql 源转换数据类型 (smalldatetime, smallmoney) 的错误 |
| 0.3.7 | 2021-09-30 | 6585 | 改进 SSH 隧道密钥生成步骤 |
| 0.3.6 | 2021-09-17 | 6318 | 添加通过 SSH 连接到 DB 的选项 |
| 0.3.4 | 2021-08-13 | 4699 | 添加了 json 配置验证器 |
| 0.3.3 | 2021-07-05 | 4689 | 添加 CDC 支持 |
| 0.3.2 | 2021-06-09 | 3973 | 为 Kubernetes 支持添加 AIRBYTE_ENTRYPOINT |
| 0.3.1 | 2021-06-08 | 3893 | 启用 SSL 连接 |
| 0.3.0 | 2021-04-21 | 2990 | 支持命名空间 |
| 0.2.3 | 2021-03-28 | 2600 | 为 DB 和游标类型转换添加 NCHAR 和 NVCHAR 支持 |
| 0.2.2 | 2021-03-26 | 2460 | 目标支持目标同步模式 |
| 0.2.1 | 2021-03-18 | 2488 | 源支持主键 |
| 0.2.0 | 2021-03-09 | 2238 | 协议允许未来/未知的属性 |
| 0.1.11 | 2021-02-02 | 1887 | 将 AbstractJdbcSource 迁移为使用迭代器 |
| 0.1.10 | 2021-01-25 | 1746 | 修复 State Decorator 中的空指针异常 (NPE) |
| 0.1.9 | 2021-01-19 | 1724 | 修复 JdbcSource 处理不同 schema 中同名表的问题 |
| 0.1.9 | 2021-01-14 | 1655 | 修复 JdbcSource 内存溢出 (OOM) |
| 0.1.8 | 2021-01-13 | 1588 | 处理 JDBC 源中的无效数字值 |
| 0.1.6 | 2020-12-09 | 1172 | 支持增量同步 |
| 0.1.5 | 2020-11-30 | 1038 | 更改 JDBC 源以发现比标准模式更多的模式 |
| 0.1.4 | 2020-11-30 | 1046 | 添加使用索引 YAML 文件的连接器 |