跳至主要内容

Microsoft SQL Server (MSSQL)

Airbyte 的认证 MSSQL 连接器提供以下功能

⚠️ 请注意,运行 source-mssql 4.0.18 及更高版本的最低所需平台版本为 v0.58.0。

功能

功能支持备注
完全刷新同步
增量同步 - 追加
复制增量删除
CDC(变更数据捕获)
SSL 支持
SSH 隧道连接
命名空间默认启用

MSSQL 源不会更改数据库中存在的模式。但是,根据连接到此源的目标,模式可能会被更改。有关更多详细信息,请参阅目标的文档。

入门

要求

  1. 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
  2. 为复制所需的所有表创建一个专用的只读 Airbyte 用户
  3. 如果您想使用 CDC,请参阅 下面的相关部分 以获取进一步的设置要求

1. 确保您的数据库可以从运行 Airbyte 的机器访问

这取决于您的网络设置。验证 Airbyte 是否能够连接到您的 MSSQL 实例的最简单方法是使用 UI 中的检查连接工具。

此步骤是可选的,但强烈建议允许更好的权限控制和审计。或者,您可以使用 Airbyte 使用数据库中的现有用户。

3. 您的数据库用户现在已准备好与 Airbyte 一起使用!

Airbyte Cloud

在 Airbyte Cloud 上,仅支持源配置中与 MSSQL 实例的安全连接。您可以配置使用支持的 SSL 方法之一,或使用 SSH 隧道。

变更数据捕获 (CDC)

我们使用 SQL Server 的变更数据捕获功能 和事务日志来捕获 CDC 启用表上发生的行级 INSERTUPDATEDELETE 操作。

一些额外的设置需要至少在您打算从中同步的数据库上具有 db_owner 权限(详细信息请参见 下面)。

请阅读 CDC 文档 以了解 Airbyte 处理 CDC 的概述。

我应该为 MSSQL 使用 CDC 吗?

  • 如果您需要删除记录并且可以接受以下限制,那么 CDC 是最佳选择!
  • 如果您的数据集很小,或者您只想在目标中获取表的快照,请考虑使用全量刷新复制您的表,而不是 CDC。
  • 如果以下限制阻止您使用 CDC,并且您的目标是在目标中维护表的快照,请考虑使用非 CDC 增量同步,并偶尔重置数据并重新同步。
  • 如果您的表具有主键,但没有合理的游标字段用于增量同步(例如 updated_at),则 CDC 允许您增量同步表。

CDC 限制

  • 请务必阅读我们的 CDC 文档,以了解影响使用 CDC 复制的所有数据库的限制。
  • hierarchyidsql_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_ownersysadmin)的 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,以允许只有 _sysadmindb_owner 具有访问权限。确保用于连接到源的凭据与 Airbyte 中的此角色一致,以便 Airbyte 可以访问 cdc 表。
    • [2] 指定 SQL Server 放置更改表的存储组。我们建议为 CDC 创建一个单独的存储组,但您可以省略此参数以使用默认存储组。
    • [3] 如果为 0,则仅生成查询所有更改的函数。如果为 1,则还会生成查询净更改所需的函数。如果 supports_net_changes 设置为 1,则必须指定 index_name,或者源表必须定义主键。
  • (有关更多参数详细信息,请参阅 Microsoft 文档页面 此存储过程)。

  • 如果您有很多表要启用 CDC,并且想避免逐个运行此查询,此脚本 可能会有所帮助!

有关更多详细信息,请参阅 Microsoft 文档关于启用和禁用 CDC

2. 启用快照隔离

  • 当使用 CDC 运行同步时,Airbyte 会执行数据库的初始一致性快照。为了避免获取表锁,Airbyte 使用快照隔离,允许其他数据库客户端同时进行写入。必须像这样在数据库上启用它

    ALTER DATABASE {database name}
    SET ALLOW_SNAPSHOT_ISOLATION ON;

3. 创建用户并授予适当的权限

  • 与其使用sysadmindb_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

    运行 CDC 所需的作业

    因此,Agent 的运行对于 CDC 有效工作至关重要。您可以检查

    SQL Server Agent 的状态如下

  EXEC xp_servicecontrol 'QueryState', N'SQLServerAGENT';
  • 如果您看到的状态不是“正在运行”,请按照

    Microsoft 文档

    来启动服务。

通过 SSH 隧道连接到 MSSQL

Airbyte 能够通过 SSH 隧道连接到 MSSQL 实例。您可能需要这样做,因为无法(或违反安全策略)直接连接到数据库(例如,它没有公共 IP 地址)。

在使用 SSH 隧道时,您正在配置 Airbyte 连接到一台中间服务器(又名 bastion 服务器),该服务器确实可以直接访问数据库。Airbyte 连接到 bastion,然后要求 bastion 直接连接到服务器。

使用此功能需要在创建源时进行额外的配置。我们将讨论每个配置项的含义。

  1. 像往常一样配置源的所有字段,除了 SSH 隧道方法

  2. SSH 隧道方法 默认为 无隧道(意味着直接连接)。如果您想使用

    SSH 隧道,请选择 SSH 密钥身份验证密码身份验证

    1. 如果您将使用 RSA 私钥作为您的密钥来

      建立 SSH 隧道,请选择 密钥身份验证(有关生成此密钥的更多信息,请参见下文)。

    2. 如果您将使用密码作为您的密钥来建立

      SSH 隧道,请选择 密码身份验证

  3. SSH 隧道跳跃服务器主机 指的是 Airbyte 将连接到的中间(堡垒)服务器。这应该

    是一个主机名或 IP 地址。

  4. SSH 连接端口 是在堡垒服务器上用于建立 SSH 连接的端口。SSH 连接的默认端口是

    22,因此,除非您显式更改了某些内容,否则请使用默认值。

  5. SSH 登录用户名 是 Airbyte 在连接到堡垒服务器时应使用的用户名。这 *不是*

    MSSQL 用户名。

  6. 如果您使用 密码身份验证,则 SSH 登录用户名 应设置为

    上一步骤中用户的密码。如果您使用 SSH 密钥身份验证,请将其留空。

    同样,这不是 MSSQL 密码,而是 Airbyte

    用于在堡垒上执行命令的操作系统用户的密码。

  7. 如果您使用 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(基于主键的初始同步)→ 版本 3 primary_key 状态类型
    • CursorBasedStatus(基于游标的增量)→ 版本 3 cursor_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');

参考

配置字段参考

字段
类型
属性名称
additionalProperties
必需
对象
additionalProperties
字符串
database
字符串
host
字符串
password
整数
port
对象
replication_method
字符串
username
布尔值
check_privileges
整数
checkpoint_target_interval_seconds
整数
concurrency
字符串
jdbc_url_params
array<string>
模式
对象
ssl_mode
对象
tunnel_method

变更日志

展开以查看
版本日期拉取请求主题
4.3.22025-12-1170836添加 Azure SQL Database 兼容性以进行 SQL Server Agent 检查
4.3.12025-12-0970823将连接器版本号提高到发布连接器
4.3.0-rc.102025-12-0570306更新 CDK 版本以包含修复 Debezium 关闭记录竞争条件
4.3.0-rc.92025-12-0170280修复连接器并发默认值
4.3.0-rc.82025-11-1469754更新到最新的 CDK 版本
4.3.0-rc.72025-11-1469327更改默认模式以发现所有模式而不是“dbo”
4.3.0-rc.62025-11-1269311修复状态迁移中 incremental_state 为 null 时的 NPE;将 resourceAcquisitionHeartbeat 降低到 100ms;升级 CDK 版本
4.3.0-rc.52025-11-0869248添加 SQL Server 标识符引用以修复保留关键字问题
4.3.0-rc.42025-11-0569194修复复合主键发现以显示所有 PK 列;将 PK 发现与同步策略分开
4.3.0-rc.32025-10-3169097修复状态解析错误,适用于整数和数字
4.3.0-rc.22025-10-2969093修复整数和数字的状态解析错误
4.3.0-rc.12025-10-2863731将源 mssql 从旧 CDK 迁移到新 CDK
4.2.62025-10-1468091修复 CDC 表过滤以防止在使用模式级别 CDC 时同步意外的表
4.2.52025-08-1364905提高 mssql 的 java cdk 版本
4.2.42025-07-0362491通过配置轮询间隔参数来提高 Debezium 的性能。
4.2.32025-07-0162052还原对 CDK 接口签名的更改。
4.2.22025-06-2561729支持在 CDC 中使用逻辑主键。
4.2.12025-06-2362015修复之前的合并。改进截止日期处理
4.2.02025-06-1961685添加一个选项,以在使用时间游标(datetime)时从基于游标的增量同步中排除今天的日期。
4.1.292025-06-0361320添加连接问题的错误处理并采用最新的 CDK 版本。
4.1.282025-05-1560311迁移到新的 gradle 流。
4.1.272025-04-2859124修复 addMetaDataToRowsFetchedOutsideDebezium 方法中的 _ab_cdc_event_serial_no 数据类型
4.1.262025-03-2756401修复非唯一值聚簇索引问题
4.1.252025-03-2055878集成最新的 mssql jdbc 驱动程序以解决一个预格里高利日期偏移错误
4.1.242025-03-1155709过滤发现中不需要的表以防止空表问题
4.1.232025-03-0655234更新认证的 DB 源连接器的基本镜像版本
4.1.222025-02-1053217当聚簇索引为复合索引时,默认为 PK。
4.1.212025-02-2154189仅在调试日志中打印状态数据。
4.1.202025-01-2652556改进读取期间的表发现。
4.1.192025-01-1651596升级驱动版本至最新 (jdbc, debezium, cdk)
4.1.182025-01-0650943使用 airbyte/java-connector-base:2.0.0。这使得镜像无root权限。连接器将与 Airbyte < 0.64 不兼容。
4.1.172024-12-1749840使用基础镜像:airbyte/java-connector-base:1.0.0
4.1.162024-11-1348484增强了 MSSQL 的错误处理,以改善系统错误检测和响应。
4.1.152024-10-0546515改进大型 SQL Server 数据库的发现。
4.1.142024-09-1745639采用最新的 CDK 以使用最新的 apache sshd mina 来处理 tcpkeepalive 请求。
4.1.132024-09-0545181修复可恢复/不可恢复的全量刷新流的错误分类。
4.1.122024-09-1045368移除过多的 debezium 日志记录。
4.1.112024-09-0445142修复游标状态中的 datetimeoffset 格式错误。
4.1.102024-08-2744759改进解析 debezium 变更事件中的空值安全性。
4.1.92024-08-2744841采用最新的 CDK。
4.1.82024-08-0843410采用最新的 CDK。
4.1.72024-08-0642869采用最新的 CDK。
4.1.62024-07-3042550正确报告流状态。
4.1.52024-07-2942852将 CDK 版本升级到最新版本,以使用错误翻译的新错误修复。
4.1.42024-07-2342421移除最终的瞬态错误发射器迭代器。
4.1.32024-07-2242411
4.1.22024-07-2242024修复从失败尝试恢复时的 NPE 错误。
4.1.12024-07-1942122改进 wass 错误消息 + 日志记录。
4.1.02024-07-1742078WASS 分析 + 错误修复。
4.0.362024-07-1741648实现 WASS。
4.0.352024-07-0540570将 debezium-connector-sqlserver 从 2.6.1.Final 升级到 2.6.2.Final。
4.0.342024-07-0140516删除 dbz 心跳。
4.0.332024-06-3040638修复一个错误,该错误可能导致使用与主键不同的聚集索引的表初始加载速度变慢。
4.0.322024-06-2640558正确处理 DatetimeOffset。
4.0.312024-06-1439419正确处理 DatetimeOffset。
4.0.302024-06-1439349全量刷新流发送内部计数元数据。
4.0.292024-06-1439506采用最新的 CDK。
4.0.282024-06-0839342修复 CDC 中 datetimeoffset 类型的自定义转换。
4.0.272024-05-2938584在 discover 中设置 is_resumable 标志。
4.0.262024-05-1638292改进游标值查询,仅返回一行。
4.0.252024-05-2938775发布 CDK
4.0.242024-05-2338640同步发送跟踪状态消息,指示进度。
4.0.232024-05-1538208在状态消息中禁用全量刷新流中的计数。
4.0.222024-05-1438196将 jdbc 驱动版本升级到 12.6.1.jre11
4.0.212024-05-0738054可恢复的刷新应该仅在定义了源主键时运行。
4.0.202024-05-0738042将 debezium 版本升级到最新版本。
4.0.192024-05-0738029修复之前的发布。
4.0.182024-04-3037451可恢复的全量刷新读取表。
4.0.172024-05-0237781采用最新的 CDK。
4.0.162024-05-0137742采用最新的 CDK。移除 Debezium 重试。
4.0.152024-04-2237541采用最新的 CDK。减少过多的日志记录。
4.0.142024-04-2237476采用最新的 CDK。
4.0.132024-04-1637111填充记录消息中的空值。
4.0.122024-04-1537326允许最多等待 60 分钟以获取初始 CDC 记录。
4.0.112024-04-1537325填充 airbyte_meta.changes + 错误处理。
4.0.102024-04-1537110内部清理。
4.0.92024-04-1036919修复空值转换中的一个错误。
4.0.82024-04-0536872更新连接器的元数据定义。
4.0.72024-04-0336772采用最新的 CDK。
4.0.62024-03-2536333弃用 Dbz 状态迭代器。
4.0.52024-03-2136364允许最多等待 40 分钟以获取初始 CDC 记录。
4.0.42024-03-2036325[重构]:移除 mssql 初始源操作。
4.0.32024-03-1936263修复在包含默认值的表中的 CDC 中遇到的故障。
4.0.22024-03-0635792初始同步现在将在状态消息中发送记录计数。
4.0.12024-03-1236011正确读取具有默认值的列的空值,用于 CDC。
4.0.02024-03-0635873支持 TB 级表,可靠性改进,错误修复。
3.7.72024-03-0635816修复在区分大小写服务器上失败的查询。
3.7.62024-03-0435721修复测试
3.7.52024-02-2935739允许配置用于 cdc 事件的队列大小。
3.7.42024-02-2635566添加配置以在无效的 CDC 位置时抛出错误。
3.7.32024-02-2335596修复一个日志记录问题
3.7.22024-02-2135368更改查询语法,使其与 Azure SQL 托管实例兼容。
3.7.12024-02-2035405更改查询语法,使其与 Azure Synapse 兼容。
3.7.02024-01-3033311带有检查点的初始同步的源 mssql。
3.6.12024-01-2634573采用 CDK v0.16.0。
3.6.02024-01-1033700移除 CDC 配置选项,用于 data_to_sync 和快照隔离。
3.5.12024-01-0533510仅测试更改。
3.5.02023-12-1933071修复 SSL 配置参数
3.4.12024-01-0233755将二进制编码为 base64 格式
3.4.02023-12-1933481移除 LEGACY 状态标志
3.3.22023-12-1433505使用发布的 CDK。
3.3.12023-12-1233225将 MsSql 特定的文件从 CDK 中提取出来。
3.3.02023-12-1233018迁移到每流/全局状态,并远离旧状态。
3.2.12023-12-1133330当用作游标时,使用正确的格式解析 DatetimeOffset 字段。
3.2.02023-12-0733225CDC:启用状态中模式历史记录 blob 的压缩。
3.1.02023-11-2832882强制在 Airbyte Cloud 上使用 SSL。
3.0.22023-11-2732573将 Datetime 和 Datetime2 数据类型格式化为 6 位微秒精度。
3.0.12023-11-2232656采用 java CDK 版本 0.5.0。
3.0.02023-11-0731531将 date、smalldatetime、datetime2、time 和 datetimeoffset 数据类型重新映射到其正确的 Airbyte 类型。
2.0.42023-11-06#32193采用 java CDK 版本 0.4.1。
2.0.32023-10-3132024升级到 Debezium 版本 2.4.0。
2.0.22023-10-3031960采用 java CDK 版本 0.2.0。
2.0.12023-08-2429821将复制方法显示类型设置为单选按钮,更新标题和描述,并将 CDC 设置为默认选择。
2.0.02023-08-2229493为 Cdc 模式设置默认游标
1.1.12023-07-2428545支持 Read Committed 快照隔离级别
1.1.02023-06-2627737许可证更新:Elv2
1.0.192023-06-2027212修复 StreamingJdbcDatabase 中的静默异常吞噬
1.0.182023-06-1427335移除嘈杂的调试日志
1.0.172023-05-2526473CDC:限制队列大小
1.0.162023-05-0125740禁用索引日志记录
1.0.152023-04-2625401CDC:升级 Debezium 到版本 2.2.0
1.0.142023-04-1925345日志记录:记录每个流的数据库索引
1.0.132023-04-1924582CDC:重构以提高性能
1.0.122023-04-1725220日志记录变更:记录其他元数据 & 清理嘈杂的日志
1.0.112023-04-1124656CDC 次要重构
1.0.102023-04-0624820修复在初始失败的非 CDC 增量同步期间的数据丢失错误
1.0.92023-04-0424833修复 Debezium 重试策略配置
1.0.82023-03-2824166修复 Debezium 关闭期间的 InterruptedException 错误
1.0.72023-03-2724373为 CDC 检查点准备连接器
1.0.62023-03-2220760移除冗余的日期时间数据类型格式化
1.0.52023-03-2124207修复 CDC 模式下的不正确的模式变更警告
1.0.42023-03-2124275修复 CDC 检查点错误
1.0.32023-03-1524082修复游标值验证期间的 NPE
1.0.22023-03-1423908记录空游标值的警告
1.0.12023-03-1023939为了网络隔离,源连接器接受一个允许连接的主机列表
1.0.02023-03-0623112升级 Debezium 版本到 2.1.2
0.4.292023-02-2416798将 event_serial_no 添加到 cdc 元数据
0.4.282023-01-1821348修复在 18959 中引入的错误,该错误删除了选项 initial_waiting_seconds
0.4.272022-12-1420346整合 JDBC 源的日期/时间值映射
0.4.262022-12-1218959CDC:如果快照未完成,则不要超时。
0.4.252022-11-0418732将 debezium 版本升级到 1.9.6
0.4.242022-10-2518383更好的 SSH 错误处理 + 消息
0.4.232022-10-2118263修复 15833 中引入的错误,并为目标中的 SSH 隧道添加更好的错误消息
0.4.222022-10-1918087更好的配置错误消息(SSH 配置,选择无效的游标)
0.4.212022-10-1718041修复 2022-09-12 在 SshTunnel 中引入的错误,正确处理迭代器异常
2022-10-1315535更新增量查询以避免在非 CDC 增量模式下同步开始时同时插入新数据时丢失数据
0.4.202022-09-1415668将日志包装在 AirbyteLogMessage 中
0.4.192022-09-0516002添加了在设置连接器时,在发现期间指定模式的能力
0.4.182022-09-0314910标准化 CDC 复制的规范。将 replication_method 枚举替换为带有 method 枚举字段的配置对象。
0.4.172022-09-0116261更频繁地发出状态消息
0.4.162022-08-1814356DB 源:仅当至少有一个列可以用作游标字段时,才显示表可以增量同步
0.4.152022-08-1115538允许在 db 流状态中添加其他属性
0.4.142022-08-1015430修复了处理数据库名称中的特殊字符的错误
0.4.132022-08-0415268添加了 [] 括起来以转义数据库名称中的特殊字符
0.4.122022-08-0214801修复多个日志绑定
0.4.112022-07-2214714澄清无效游标列选择时的错误消息
0.4.102022-07-1414574移除 additionalProperties:false来自 JDBC 源连接器
0.4.92022-07-0514379对齐 Normal 和 CDC 迁移 + 添加了一些数据类型处理的修复
0.4.82022-06-2414121在 CDC 中省略 Azure SQL 上的 'USE' 关键字
0.4.52022-06-2314077使用新的状态管理
0.4.32022-06-1713887增加版本以包含来自 13854 的更改
0.4.22022-06-0613435根据最大内存和最大行大小调整 JDBC 获取大小
0.4.12022-05-2513419更正 Standard 方法的枚举。
0.4.02022-05-2512759 13168对于 CDC,添加选项以忽略现有数据并仅同步数据库中的新更改。
0.3.222022-04-2912480查询表,使用自适应获取大小来优化 JDBC 内存消耗
0.3.212022-04-1111729将 mina-sshd 从 2.7.0 升级到 2.8.0
0.3.192022-03-3111495添加了对中文 MSSQL Server Agent 的支持
0.3.182022-03-2911010添加了 JDBC 参数
0.3.172022-02-2110242修复旧连接器的游标,这些连接器使用非微秒格式。现在连接器支持这两种格式
0.3.162022-02-1810242更新带有微秒的时间戳转换
0.3.152022-02-1410256添加 -XX:+ExitOnOutOfMemoryError JVM 选项
0.3.142022-01-249554允许在 CDC 中处理 java sql date
0.3.132022-01-079094添加了对缺失数据类型的支持
0.3.122021-12-309206更新连接器字段标题/描述
0.3.112021-12-248958添加了对 JdbcType.ARRAY 的支持
0.3.102021-12-018371修复 ssh 密钥中的不正确的处理 "\n"
0.3.92021-11-097748改进了对二进制和 varbinary 数据类型的支持
0.3.82021-10-267386修复了从 mssql 源转换数据类型 (smalldatetime, smallmoney) 的错误
0.3.72021-09-306585改进 SSH 隧道密钥生成步骤
0.3.62021-09-176318添加通过 SSH 连接到 DB 的选项
0.3.42021-08-134699添加了 json 配置验证器
0.3.32021-07-054689添加 CDC 支持
0.3.22021-06-093973为 Kubernetes 支持添加 AIRBYTE_ENTRYPOINT
0.3.12021-06-083893启用 SSL 连接
0.3.02021-04-212990支持命名空间
0.2.32021-03-282600为 DB 和游标类型转换添加 NCHAR 和 NVCHAR 支持
0.2.22021-03-262460目标支持目标同步模式
0.2.12021-03-182488源支持主键
0.2.02021-03-092238协议允许未来/未知的属性
0.1.112021-02-021887将 AbstractJdbcSource 迁移为使用迭代器
0.1.102021-01-251746修复 State Decorator 中的空指针异常 (NPE)
0.1.92021-01-191724修复 JdbcSource 处理不同 schema 中同名表的问题
0.1.92021-01-141655修复 JdbcSource 内存溢出 (OOM)
0.1.82021-01-131588处理 JDBC 源中的无效数字值
0.1.62020-12-091172支持增量同步
0.1.52020-11-301038更改 JDBC 源以发现比标准模式更多的模式
0.1.42020-11-301046添加使用索引 YAML 文件的连接器