将SQL Server作为目标端
更新时间:2024-08-14
1. 适用场景
本文适用于使用百度智能云数据传输服务DTS,将DTS已经支持的数据源迁移至SQL Server目标端中的场景。
2. 将SQL Server数据库作为目标端的限制
- 仅支持源端为SQL Server数据迁移。
3. 将SQL Server数据库作为DTS目标端的前置条件
3.1 环境要求
DTS支持将SQL Server 2012~2019版本自建数据库作为目标端。
3.2 数据库账号权限要求
目标端:
数据库 | 结构迁移、全量迁移和增量迁移 |
---|---|
自建SQL Server数据库 | 至少db_owner(读写)权限 |
4. 使用SQL Server数据库作为DTS目标端
使用SQL Server数据库作为目标端,在任务创建、任务配置、前置检查、任务启动、任务暂停、任务终止的操作流程请参考典型实践文档。 在任务配置参数和对象映射部分与其他数据源有些许不同。
4.1 任务配置参数
如上图所示。目前DTS的目标端支持公网自建SQL Server实例,SQL Server目标端配置参数说明如下:
- 接入类型:支持公网/BCC/BBC/DCC自建SQL Server实例。
- 数据类型:固定选择SQL Server。
- IP/端口:自建SQL Server数据库的访问IP与服务端口。
- 数据库:自建SQL Server数据库中待迁移的数据库名。
- 账号:自建SQL Server的数据库账号。
- 密码:该数据库账号对应的密码。
4.2 对象映射
SQL Server为三级schema,当需要由两级schema的源端向SQL Server进行数据迁移时,目前DTS会将源端库名映射为目标端的schema名。DTS提供库表名映射功能供用户选择,如下图所示,选择好的迁移对象会出现在右边的已选择对象列表中。DTS支持上下游库表名映射、列过滤黑白名单等功能。可以点击【编辑】,对每一个迁移对象配置映射和过滤规则。
完成对象映射配置后,点击【保存并预检查】,启动任务的前置检查。
5. DTS支持的SQL Server目标端数据类型
下表列出了使用DTS时支持的DTS数据类型与SQL Server目标端数据类型的默认映射。
有关如何查看源端映射的数据类型的信息,请参阅有关源端数据源的数据类型映射部分。
DTS字段类型 | SQL Server数据类型 |
---|---|
DTS_TYPE_INT1 | smallint |
DTS_TYPE_INT2 | smallint |
DTS_TYPE_INT4 | int |
DTS_TYPE_INT8 | bigint |
DTS_TYPE_NUMBER | decimal |
DTS_TYPE_FLOAT | real |
DTS_TYPE_DOUBLE | float |
DTS_TYPE_BYTES | varbinary |
DTS_TYPE_DATE | date |
DTS_TYPE_TIME | 如果小数位数 => 0 且 <= 7 使用 time; 否则使用nvarchar |
DTS_TYPE_DATETIME | 如果小数位数 => 0 且 <= 7 使用 datetime2; 否则使用nvarchar |
DTS_TYPE_STRING | nvarchar |
DTS_TYPE_BOOLEAN | bit |