更新时间:2025-10-17 GMT+08:00
分享

SQL Server数据源

支持的版本

本数据集成服务全面支持云上及线下自建SQL Server数据源,可满足不同用户在多种部署环境下的数据同步需求。

使用前准备及限制

  • 网络要求

    SQL Server数据源必须与CDM网络进行通讯,以确保数据传输的顺畅性。详情请参见网络打通

  • 权限要求
    • 离线读取SQL Server时
      • 账号需具备对同步表的只读权限(SELECT),以确保数据能够被安全、准确地读取。这可以防止未经授权的数据修改,保障数据的完整性和一致性。
      • 如果数据集成任务涉及从视图或存储过程读取数据,账号需要具备相应的 SELECT 权限。
      • 建议账号至少具备db_datareader角色权限,以确保能够读取数据库中的所有用户表数据。
    • 离线写入SQL Server时
      • 账号需具备对同步表的写入权限(INSERT、DELETE、UPDATE),以便能够将数据正确写入目标表。这些权限允许数据集成服务对目标表进行数据插入、更新或删除操作,确保数据同步的完整性和准确性。
      • 如果数据集成任务涉及新建表或删除表,账号需要具备相应的权限(CREATE TABLE、DROP TABLE)。这通常需要db_ddladmindb_owner角色权限。
      • 建议账号至少具备db_datawriter角色权限,以确保能够对数据库中的所有用户表进行写入操作。如果需要进行表结构的修改或创建,建议赋予db_ddladmindb_owner角色权限。
    • 特殊说明
      • 在某些复杂的数据迁移场景下,尤其是涉及跨数据库操作、动态SQL执行或高级配置时,可能需要sysadmin权限。然而,出于安全考虑,建议仅在必要时赋予此权限,并在任务完成后立即撤销。
      • 账号需要具备连接到 SQL Server 实例的权限(CONNECT)。这通常默认授予所有用户,但如果存在限制,需要确保账号具备此权限。
  • 版本建议

    Microsoft SQL Server建议使用的版本为2005及以上版本。

驱动选择

驱动信息

驱动名称

获取地址

建议版本

SQLServer

Microsoft JDBC Driver for SQL Server

4.2 版本,获取 sqljdbc42.jar

支持的数据类型

以SQL Server 2016为基准,本数据集成服务兼容以下字段类型及其常见变体,确保在读写操作中能够准确处理各类数据:

类别

字段类型

SQL Server 读取

整数型

bigint

int

smallint

tinyint

浮点数

float

real

数值

decimal

numeric

money

smallmoney

字符型

char

varchar

text

nchar

nvarchar

ntext

二进制

binary

varbinary

image

时间

date

datetime

datetime2

smalldatetime

time

其他

sql_variant

x

uniqueidentifier

xml

identity int

支持的迁移场景

数据集成离线同步支持以下三种同步方式,以满足不同数据迁移场景的需求:

云场景下,离线或自建数据库整体同步场景。支持的数据源类型请参考整库同步支持的数据源类型。

需要注意的是,分库分表与整库迁移能力会根据不同region的上线支持情况有所不同,具体支持情况以页面为准。以下是针对SQL Server的支持迁移场景概览:

支持迁移场景

SQL Server 单表读取

SQL Server 单表写入

SQL Server 分库分表读取

SQL Server 分库分表写入

SQL Server 整库读取

SQL Server 整库写入

是否支持

√(部分region支持)

√(部分region支持)

x

x

核心能力速览

  • 连接配置

    配置项

    支持情况

    说明

    用户/AK

    支持用户认证,确保连接安全。

    SSL 加密

    支持 SSL 加密,保障数据传输安全,当前仅支持云上 RDS 开启 SSL 认证。

    SSL 认证支持

    x

    当前默认不开启证书认证能力。

    私有证书支持

    x

    不支持私有证书。

    连接配置调优

    支持 connectTimeout 等连接配置调优,可根据实际需求优化连接性能。

    自定义驱动

    支持自定义驱动,提供更高的灵活性。

  • 读取能力

    配置项

    支持情况

    说明

    分片并发

    支持按主键或常见字段做水平分片,多线程并行抽取,显著提升吞吐效率。

    脏数据处理

    支持异常数据写入脏数据桶,避免因少量异常数据导致作业失败。

    自定义字段

    可在任务级追加计算列、常量列或脱敏函数,满足个性化业务需求。

    增量读取

    支持 where 条件和 SQL 模式,可实现增量读取。

    流批读取方式

    批读

    支持批量读取,适用于中小数据量场景,可一次性处理数据,提高处理效率。

    读取行数调优

    可根据需求在连接中配置【单次请求行数】,合理控制数据传输量,优化性能,避免因数据量过大导致的传输延迟或系统压力。

  • 写入能力

    配置项

    支持情况

    说明

    数据源调优参数

    支持 batchSize、socketTimeout 等写入端优化配置,提升写入性能。

    脏数据处理

    支持异常数据写入脏数据桶,避免因少量异常数据导致作业失败。

    冲突解决

    x

    不支持冲突解决机制。

    导入前后处理

    支持 preSql/delete 等操作,可在数据导入前后进行数据清洗和处理。

    并发写入

    支持并发写入,提升写入效率。

    写入行数调优

    可根据需求配置单次写入的行数,合理控制数据传输量,优化性能,避免因数据量过大导致的传输延迟或系统压力,该数据源不支持。

创建数据源

DataArts Studio管理中心新建相应的数据源,详情请参见创建DataArts Studio数据连接

创建数据集成离线作业

DataArts Studio数据开发中新建SQL Server集成作业,详情请参见新建离线处理集成作业

相关文档