SQL Server数据源
支持的版本
本数据集成服务全面支持云上及线下自建SQL Server数据源,可满足不同用户在多种部署环境下的数据同步需求。
使用前准备及限制
- 网络要求
SQL Server数据源必须与CDM网络进行通讯,以确保数据传输的顺畅性。详情请参见网络打通。
- 权限要求
- 离线读取SQL Server时:
- 账号需具备对同步表的只读权限(SELECT),以确保数据能够被安全、准确地读取。这可以防止未经授权的数据修改,保障数据的完整性和一致性。
- 如果数据集成任务涉及从视图或存储过程读取数据,账号需要具备相应的 SELECT 权限。
- 建议账号至少具备db_datareader角色权限,以确保能够读取数据库中的所有用户表数据。
- 离线写入SQL Server时:
- 账号需具备对同步表的写入权限(INSERT、DELETE、UPDATE),以便能够将数据正确写入目标表。这些权限允许数据集成服务对目标表进行数据插入、更新或删除操作,确保数据同步的完整性和准确性。
- 如果数据集成任务涉及新建表或删除表,账号需要具备相应的权限(CREATE TABLE、DROP TABLE)。这通常需要db_ddladmin或db_owner角色权限。
- 建议账号至少具备db_datawriter角色权限,以确保能够对数据库中的所有用户表进行写入操作。如果需要进行表结构的修改或创建,建议赋予db_ddladmin或db_owner角色权限。
- 特殊说明:
- 在某些复杂的数据迁移场景下,尤其是涉及跨数据库操作、动态SQL执行或高级配置时,可能需要sysadmin权限。然而,出于安全考虑,建议仅在必要时赋予此权限,并在任务完成后立即撤销。
- 账号需要具备连接到 SQL Server 实例的权限(CONNECT)。这通常默认授予所有用户,但如果存在限制,需要确保账号具备此权限。
- 离线读取SQL Server时:
- 版本建议
Microsoft SQL Server建议使用的版本为2005及以上版本。
驱动选择
驱动名称 |
获取地址 |
建议版本 |
---|---|---|
SQLServer |
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集成作业,详情请参见新建离线处理集成作业。