本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Microsoft SQL 服务器数据库作为来源 Amazon DMS
使用迁移一个或多个 Microsoft SQL 服务器数据库中的数据 Amazon DMS。使用SQL服务器数据库作为源,您可以将数据迁移到另一个SQL服务器数据库,或者迁移到其他 Amazon DMS 支持的数据库之一。
有关 Amazon DMS 支持作为源的 SQL Server 版本的信息,请参见的来源 Amazon DMS。
源SQL服务器数据库可以安装在网络中的任何计算机上。与一起使用时,需要具有相应访问源数据库权限的SQL服务器帐户,以执行您选择的任务类型 Amazon DMS。有关更多信息,请参阅 SQL服务器任务的权限。
Amazon DMS 支持从SQL服务器的命名实例迁移数据。当您创建源终端节点时,您可以在服务器名称中使用以下表示法。
IPAddress\InstanceName
例如,以下是正确的源终端节点服务器名称。在这里,名称的第一部分是服务器的 IP 地址,第二部分是SQL服务器实例名称(在本例中为SQLTest)。
10.0.0.25\SQLTest
另外,获取您的指定SQL服务器实例监听的端口号,然后使用它来配置您的 Amazon DMS 源端点。
注意
1433 端口是微软SQL服务器的默认端口。但是,也经常使用每次启动SQL服务器时都会更改的动态端口,以及用于通过防火墙连接到SQL服务器的特定静态端口号。因此,在创建 Amazon DMS 源端点时,您想知道指定的 SQL Server 实例的实际端口号。
您可以使用SSL对SQL服务器终端节点和复制实例之间的连接进行加密。有关使用SQL服务器端点SSL的更多信息,请参阅将 SSL 与 Amazon Database Migration Service。
您可以使用从SQL服务器数据库CDC进行持续迁移。有关为配置源SQL服务器数据库的信息CDC,请参见捕获数据更改,以便从SQL服务器进行持续复制。
有关使用SQL服务器源数据库和的更多详细信息 Amazon DMS,请参阅以下内容。
主题
使用SQL服务器作为来源的限制 Amazon DMS
使用SQL服务器数据库作为源时,以下限制适用 Amazon DMS:
-
列的身份属性不迁移到目标数据库列。
-
SQL服务器端点不支持使用带有稀疏列的表。
-
不支持 Windows 身份验证。
-
对SQL服务器中计算字段的更改不会被复制。
-
不支持临时表。
-
SQL不支持服务器分区切换。
-
使用WRITETEXT和UPDATETEXT实用程序时, Amazon DMS 不会捕获应用于源数据库的事件。
-
不支持以下数据操作语言 (DML) 模式。
SELECT * INTO
new_table
FROMexisting_table
-
使用 SQL Server 作为源时,不支持列级加密。
-
Amazon DMS 不支持将 Server 2008 或 SQL Server 2008 R2 作为来源进行SQL服务器级审计。这是因为 SQL Server 2008 和 2008 R2 存在已知问题。例如,运行以下命令会 Amazon DMS 导致失败。
USE [master] GO ALTER SERVER AUDIT [my_audit_test-20140710] WITH (STATE=on) GO
-
使用 SQL Server 作为源时,在完整 lob 模式下不支持几何列。应改用受限 LOB 模式,或将
InlineLobMaxSize
任务设置设为使用内联 LOB 模式。 -
在复制任务中使用 Microsoft SQL Server 源数据库时,如果删除该任务,SQL服务器复制发布服务器定义不会被删除。微软SQL服务器系统管理员必须从微软SQL服务器中删除这些定义。
-
仅限满载的任务支持从架构绑定和 non-schema-bound 视图迁移数据。
-
不支持使用 sp_rename 重命名表(例如,
sp_rename 'Sales.SalesRegion', 'SalesReg;)
-
不支持使用 sp_rename 重命名列(例如,
sp_rename 'Sales.Sales.Region', 'RegID', 'COLUMN';
) Amazon DMS 不支持更改处理以设置和取消设置列默认值(使用带
ALTER TABLE
语ALTER COLUMN SET DEFAULT
句的子句)。-
Amazon DMS 不支持通过更改处理来设置列可为空性(使用带
ALTER TABLE
语ALTER COLUMN [SET|DROP] NOT NULL
句的子句)。 -
SQL在 Serv SQL er 2012 和 Server 2014 中,当对可用性组使用DMS复制时,无法将分布数据库放置在可用性组中。SQL2016 支持将分发数据库放入可用性组,但合并、双向或 peer-to-peer 复制拓扑中使用的分发数据库除外。
-
对于分区表, Amazon DMS 不支持为每个分区设置不同的数据压缩设置。
-
在SQL服务器空间数据类型(GEOGRAPHY和GEOMETRY)中插入值时,可以忽略空间参照系标识符 (SRID) 属性或指定其他数字。复制具有空间数据类型的表时, Amazon DMS 将替换为默认值SRID(0 代表GEOMETRY和 4326 代表)。SRID GEOGRAPHY
-
如果您的数据库未配置为 MS-REPLICATION 或 MS-CDC,您仍然可以捕获没有主键的表,但只能捕获INSERT/DELETEDML事件。UPDATE并且TRUNCATETABLE事件会被忽略。
-
不支持列存储索引。
-
不支持内存优化表(使用内存中OLTP)。
-
当复制主键由多个列组成的表时,不支持在完全加载期间更新主键列。
-
不支持延迟的耐久性。
-
由于备份的RDS执行方式,
readBackupOnly=Y
端点设置(额外连接属性)不RDS适用于SQL服务器源实例。 -
EXCLUSIVE_AUTOMATIC_TRUNCATION
在 Amazon RDS SQL Server 源实例上不起作用,因为RDS用户无权运行SQL服务器存储过程,sp_repldone
。 Amazon DMS 不捕获截断命令。
-
Amazon DMS 不支持从开启了加速数据库恢复 (ADR) 的数据库进行复制。
-
Amazon DMS 不支持在单个事务中捕获数据定义语言 (DDLDML) 和数据操作语言 () 语句。
-
Amazon DMS 不支持复制数据层应用程序包 (DACPAC)。
-
UPDATE当您将更改应用于目标数据库时,涉及主键或唯一索引并更新多个数据行的语句可能会导致冲突。例如,当目标数据库将更新应用为INSERT和DELETE语句而不是单个UPDATE语句时,可能会发生这种情况。在批量优化应用模式中,该表可能会被忽略。在事务应用模式下,该UPDATE操作可能会导致违反约束。要避免出现此问题,请重新加载相关表。或者,在 Apply Exceptions 控制表(
dmslogs.awsdms_apply_exceptions
)中找到有问题的记录,然后在目标数据库中手动对其进行编辑。有关更多信息,请参阅 更改处理优化设置。 -
Amazon DMS 不支持表和架构的复制,其中名称包含以下集合中的特殊字符。
\\ -- \n \" \b \r ' \t ;
-
不支持数据屏蔽。 Amazon DMS 在不进行屏蔽的情况下迁移被屏蔽的数据。
-
Amazon DMS 最多复制 32,767 个带主键的表,每个表最多可复制 1,000 个列。这是因为 Amazon DMS 会为每个复制的表创建一个SQL服务器复制文章,而SQL服务器复制文章有这些限制。
-
使用 Change Data Capture (CDC) 时,必须将构成唯一索引的所有列定义为
NOT NULL
。如果不满足此要求,将导致SQL服务器系统错误 22838。 如果SQL服务器从活动事务日志存档到备份日志,或者从活动事务日志中截断事件,则可能会丢失事件。
访问备份事务日志时适用以下限制:
-
不支持加密的备份。
-
不支持存储在 Windows Azure URL 或 Windows Azure 上的备份。
-
Amazon DMS 不支持直接处理来自备用共享文件夹的文件级别的事务日志备份。
对于除亚马逊RDS以外的云SQL服务器源 for Microsoft SQL Server,仅 Amazon DMS 支持使用活动事务日志进行持续复制 (CDC)。您不能将备份日志与一起使用CDC。如果SQL服务器将事件从活动事务日志存档到备份日志,或者在读取活动事务日志之前将其从活动事务日志中截断,则DMS可能会丢失事件。
对RDS于 Amazon for Microsoft SQL Server 源, Amazon DMS 3.5.2 及更低版本仅支持使用活动事务日志进行持续复制 (CDC),因为DMS无法使用访问备份日志。CDC如果 RDS for SQL Server 将事件从活动事务日志存档到备份日志,或者在DMS可以读取之前将其从活动事务日志中截断,则可能会丢失事件。此限制不适用于 3.5.3 及更高 Amazon DMS 版本。
SQL服务器任务的权限
仅完全加载任务的权限
要执行仅完全加载的任务,需要以下权限。请注意,这 Amazon DMS 不会创建dms_user
登录名。有关为SQL服务器创建登录的信息,请参见使用 Microsoft SQL 服务器创建数据库用户。
USE db_name; CREATE USER dms_user FOR LOGIN dms_user; ALTER ROLE [db_datareader] ADD MEMBER dms_user; GRANT VIEW DATABASE STATE to dms_user; GRANT VIEW DEFINITION to dms_user; USE master; GRANT VIEW SERVER STATE TO dms_user;
正在进行复制的任务的权限
无论是否使用DMS该sysadmin
角色,都可以将自管SQL服务器实例配置为持续复制。对于无法授予sysadmin
角色的SQL服务器实例,请确保DMS用户具有如下所述的权限。
设置从自行管理的SQL服务器数据库进行持续复制的权限
例如,使用 SQL Server Management Studio (SSMS) 或如前所述仅完全加载任务的权限,使用密码身份验证创建新的SQL服务器帐户
self_managed_user
。运行以下
GRANT
命令:GRANT VIEW SERVER STATE TO
self_managed_user
; USE MSDB; GRANT SELECT ON MSDB.DBO.BACKUPSET TOself_managed_user
; GRANT SELECT ON MSDB.DBO.BACKUPMEDIAFAMILY TOself_managed_user
; GRANT SELECT ON MSDB.DBO.BACKUPFILE TOself_managed_user
; USE db_name; CREATE USERself_managed_user
FOR LOGINself_managed_user
; ALTER ROLE [db_owner] ADD MEMBERself_managed_user
; GRANT VIEW DEFINITION toself_managed_user
;除上述权限外,用户还需要以下权限之一:
用户必须是
sysadmin
固定服务器角色的成员配置和权限如在可用性组环境中的SQL服务器上设置持续复制:没有 sysadmin 角色或中所述在独立SQL服务器上设置持续复制:没有 sysadmin 角色,具体取决于您的源配置。
设置从云SQL服务器数据库进行持续复制的权限
云托管SQL服务器实例是指在 Amazon RDS 上运行的 Microsoft SQL Server 实例、Azure SQL 托管实例或支持的任何其他托管云SQL服务器实例。DMS
例如,使用 SQL Server Management Studio (SSMS) 或如前所述仅完全加载任务的权限,使用密码身份验证创建新的SQL服务器帐户rds_user
。
运行以下授权命令。
GRANT VIEW SERVER STATE TO rds_user; USE MSDB; GRANT SELECT ON MSDB.DBO.BACKUPSET TO rds_user; GRANT SELECT ON MSDB.DBO.BACKUPMEDIAFAMILY TO rds_user; GRANT SELECT ON MSDB.DBO.BACKUPFILE TO rds_user; USE db_name; CREATE USER rds_user FOR LOGIN rds_user; ALTER ROLE [db_owner] ADD MEMBER rds_user; GRANT VIEW DEFINITION to rds_user;
对RDS于 Amazon for Microsoft SQL 服务器源,DMS版本 3.5.3 及更高版本支持从事务日志备份中读取。DMS为确保能够访问日志备份,除上述内容外,还要授予master
用户权限或对RDSSQL服务器源的以下权限:
//DMS 3.5.3 version onwards GRANT EXEC ON msdb.dbo.rds_dms_tlog_download TO rds_user; GRANT EXEC ON msdb.dbo.rds_dms_tlog_read TO rds_user; GRANT EXEC ON msdb.dbo.rds_dms_tlog_list_current_lsn TO rds_user; GRANT EXEC ON msdb.dbo.rds_task_status TO rds_user;
使用来自SQL服务器源的持续复制 (CDC) 的先决条件
您可以使用持续复制(更改数据捕获或CDC)来管理本地或亚马逊上的自管理SQL服务器数据库,也可以对云数据库(例如亚马逊EC2RDS或 Microsoft Azure SQL 托管实例)使用持续复制。
以下要求特别适用于使用以SQL服务器数据库作为源的持续复制时 Amazon DMS:
-
SQL必须配置服务器以进行完整备份,并且在开始复制数据之前必须执行备份。
-
恢复模式必须设置为 Bulk logged 或 Full。
-
SQL不支持将服务器备份到多个磁盘。如果将备份定义为将数据库备份写入不同磁盘上的多个文件,则 Amazon DMS 无法读取数据, Amazon DMS 任务将失败。
-
对于自行管理的SQL服务器源,在移除任务时,不会删除DMSCDC任务中使用的源的 SQL Server Replication Publisher 定义。对于自行管理的源,SQL服务器系统管理员必须从SQL服务器中删除这些定义。
-
在此期间CDC, Amazon DMS 需要查找SQL服务器事务日志备份以读取更改。 Amazon DMS 不支持使用非本机格式的第三方备份软件创建的SQL服务器事务日志备份。要支持采用本机格式并且使用第三方备份软件创建的事务日志备份,请将
use3rdPartyBackupDevice=Y
连接属性添加到源端点。 -
对于自行管理的SQL服务器源,请注意,在新创建的表发布之前,SQLServer 不会捕获这些更改。将表添加到SQL服务器源时,会 Amazon DMS 管理发布的创建。但是,该过程可能需要几分钟时间。不会将在该延迟期间对新创建的表执行的操作捕获或复制到目标中。
-
Amazon DMS 更改数据捕获需要在 SQL Server 中开启完整的事务日志记录。要在SQL服务器中开启完整事务日志记录,请启用 MS-REPLICATION 或 CHANGE DATA CAPTURE (CDC)。
-
SQL在 MS CDC 捕获作业处理这些更改之前,不会将服务器 tlog 条目标记为可重复使用。
-
CDC内存优化的表不支持操作。此限制适用于 SQL Server 2014(该功能首次推出时)及更高版本。
Amazon DMS 默认情况下,更改数据采集需要在 Amazon EC2 或 On-Prem SQL 服务器上使用分布数据库作为源。因此,请确保在为带有主键的表配置 MS 复制时已激活分发服务器。
SQL服务器支持的压缩方法
请注意以下有关SQL服务器压缩方法支持的内容 Amazon DMS:
Amazon DMS 在SQL服务器版本 2008 及更高版本中支持行/页压缩。
Amazon DMS 不支持 Vardecimal 存储格式。
Amazon DMS 不支持稀疏列和列结构压缩。
使用自行管理的SQL服务器 AlwaysOn可用性组
SQLServer Always On 可用性组提供高可用性和灾难恢复,作为数据库镜像的企业级替代方案。
在中 Amazon DMS,您可以从单个主可用性组或辅助可用性组副本迁移更改。
使用主可用性组副本
要在中使用主可用性组作为源 Amazon DMS,请执行以下操作:
为可用性副本中的所有SQL服务器实例开启分发选项。有关更多信息,请参阅 在自行管理SQL的服务器上设置持续复制。
在 Amazon DMS 控制台中,打开SQL服务器源数据库设置。在服务器名称中,指定为您的可用性组侦听器配置的域名服务 (DNS) 名称或 IP 地址。
首次启动 Amazon DMS 任务时,可能需要比平时更长的时间才能启动。这种缓慢是因为可用性组服务器正在复制表项目的创建。
使用辅助可用性组副本
要在中使用辅助可用性组作为源 Amazon DMS,请执行以下操作:
-
使用与 Amazon DMS 源端点用户相同的凭据来连接各个副本。
-
确保您的 Amazon DMS 复制实例可以解析所有现有副本的DNS名称并连接到它们。您可以使用以下SQL查询来获取所有副本的DNS名称。
select ar.replica_server_name, ar.endpoint_url from sys.availability_replicas ar JOIN sys.availability_databases_cluster adc ON adc.group_id = ar.group_id AND adc.database_name = '<source_database_name>';
创建源终端节点时,请为终端节点的服务器DNS名称或终端密钥的服务器地址指定可用性组侦听器的名称。有关可用性组侦听器的更多信息,请参阅什么是可用性组侦听器
? 在SQL服务器文档中。 您可以使用公共DNS服务器或本地DNS服务器来解析可用性组侦听器、主副本和辅助副本。要使用本地DNS服务器,请配置 Amazon Route 53 解析器。有关更多信息,请参阅 使用您自己的本地名称服务器。
请将以下额外连接属性添加到您的源端点。
额外连接属性 值 注意 applicationIntent
ReadOnly
如果没有此ODBC设置,则复制任务将路由到主可用性组副本。有关更多信息,请参阅 SQLServer 文档中的 Server Native Client 对高可用性、灾难恢复的SQL支持 。 multiSubnetFailover
yes
有关更多信息,请参阅 SQLServer 文档中的 Server Native Client 对高可用性、灾难恢复的SQL支持 。 alwaysOnSharedSynchedBackupIsEnabled
false
有关更多信息,请参阅 使用SQL服务器作为源时的端点设置 Amazon DMS。 activateSafeguard
false
有关更多信息,请参阅下面的限制。 setUpMsCdcForTables
false
有关更多信息,请参阅下面的限制。 在您可用性组的所有副本上启用分发选项。将所有节点添加到分发服务器列表中。有关更多信息,请参阅 设置分发。
对主读写副本运行以下查询以启用数据库的发布。您只对数据库运行一次此查询。
sp_replicationdboption @dbname = N'<source DB name>', @optname = N'publish', @value = N'true';
限制
以下是使用辅助可用性组副本的限制:
Amazon DMS 使用只读可用性组副本作为源时,不支持 Safeguard。有关更多信息,请参阅 使用SQL服务器作为源时的端点设置 Amazon DMS。
Amazon DMS 使用只读可用性组副本作为源时,不支持
setUpMsCdcForTables
额外的连接属性。有关更多信息,请参阅 使用SQL服务器作为源时的端点设置 Amazon DMS。-
Amazon DMS 从版本 3.4.7 开始,可以使用自我管理的辅助可用性组副本作为源数据库,用于持续复制(更改数据捕获或CDC)。不支持云SQL服务器多可用区只读副本。如果您使用早期版本的 Amazon DMS,请确保使用主可用性组副本作为的源数据库CDC。
失效转移到其他节点
如果您将终端节点的ApplicationIntent
额外连接属性设置为ReadOnly
,则您的 Amazon DMS 任务将连接到只读路由优先级最高的只读节点。当优先级最高的只读节点不可用时,它会失效转移到可用性组中的其他只读节点。如果未设置ApplicationIntent
,则您的 Amazon DMS 任务将仅连接到可用性组中的主(读/写)节点。
使用SQL服务器作为源时的端点设置 Amazon DMS
您可以使用端点设置来配置SQL服务器源数据库,就像使用额外的连接属性一样。您可以在使用 Amazon DMS 控制台创建源端点时指定设置,也可以使用中的create-endpoint
Amazon CLI命令和--microsoft-sql-server-settings '{"
JSON语法。EndpointSetting"
:
"value"
, ...
}'
下表显示了可以将 SQL Server 用作源的端点设置。
名称 | 描述 |
---|---|
|
此属性可开启或关闭 Safeguard。有关 Safeguard 的更多信息,请参阅下文的 默认值: 有效值:{ 例如: |
AlwaysOnSharedSynchedBackupIsEnabled |
此属性可调整从作为 Always On 可用性组群集一部分托管的SQL服务器源数据库迁移 Amazon DMS 时的行为。 Amazon DMS 增强了对配置为SQL在 Always On 群集中运行的服务器源数据库的支持。在这种情况下, Amazon DMS 会尝试跟踪事务备份是否是在 Always On 集群中的节点(而非托管源数据库实例的节点)上发生。在迁移任务启动 Amazon DMS 时,尝试连接到集群中的每个节点,但如果无法连接到任何一个节点,则会失败。 如果您 Amazon DMS 需要轮询 Always On 集群中的所有节点以获取事务备份,请将此属性设置为 默认值: 有效值: 示例: |
|
此ODBC驱动程序属性设置会让 SQL Server 将您的复制任务路由到优先级最高的只读节点。如果没有此设置,SQL服务器会将您的复制任务路由到主读写节点。 |
|
在没有 sysadmin 用户的独立SQL服务器上设置持续复制时,请使用此端点设置。3.4.7 及更高 Amazon DMS 版本支持此参数。有关在独立SQL服务器上设置持续复制的信息,请参见捕获数据更改,以便从SQL服务器进行持续复制。 默认值: 有效值: 例如: |
|
使用这个额外的连接属性 (ECA) 来设置 SQL Server 实例的客户端语句超时(以秒为单位)。默认值为 60 秒。 例如: |
|
如果设置为 默认值: 有效值: 示例: |
|
强制LOB进行内联查找LOB。 默认值: 有效值: 例如: |
|
此ODBC驱动程序属性DMS有助于在可用性组故障转移时连接到新的主服务器。此属性专为连接中断或侦听器 IP 地址不正确的情况而设计。在这些情况下, Amazon DMS 会尝试连接到与可用性组侦听器关联的所有 IP 地址。 |
|
使用此属性需要 sysadmin 权限。当此属性设置为时 有效值: 例如: 注意:由于RDS执行备份的方式,此参数不适用于 Amazon RDS SQL Server 源实例。 |
|
为了获得最佳性能,请 Amazon DMS 尝试从活动事务日志中捕获所有未读更改 (TLOG)。但是,有时由于截断,活动内容TLOG可能不包含所有未读更改。发生这种情况时, Amazon DMS 访问日志备份以捕获缺少的更改。为了最大限度地减少访问日志备份的需求,请使用以下方法之一 Amazon DMS 防止截断:
默认值: 有效值:{ 例如: |
|
此属性CDC为源数据库和任务映射中未启用 MS-Replication 的表启用 MS-。将此值设置为 有效值:{ 例如: |
|
表示用于获取CDC数据的模式。 默认值: 有效值: 例如: |
|
当此属性设置为 |
SQL服务器的源数据类型
使用SQL服务器作为源的数据迁移 Amazon DMS 支持大多数SQL服务器数据类型。下表显示了使用时支持的SQL服务器源数据类型 Amazon DMS 以及 Amazon DMS 数据类型的默认映射。
有关如何查看目标中映射的数据类型的信息,请参阅有关所使用的目标终端节点的部分。
有关 Amazon DMS 数据类型的更多信息,请参见Amazon Database Migration Service 的数据类型。
SQL服务器数据类型 |
Amazon DMS 数据类型 |
---|---|
BIGINT |
INT8 |
BIT |
BOOLEAN |
DECIMAL |
NUMERIC |
INT |
INT4 |
MONEY |
NUMERIC |
NUMERIC(p, s) |
NUMERIC |
SMALLINT |
INT2 |
SMALLMONEY |
NUMERIC |
TINYINT |
UINT1 |
REAL |
REAL4 |
FLOAT |
REAL8 |
DATETIME |
DATETIME |
DATETIME2(SQL服务器 2008 及更高版本) |
DATETIME |
SMALLDATETIME |
DATETIME |
DATE |
DATE |
TIME |
TIME |
DATETIMEOFFSET |
WSTRING |
CHAR |
STRING |
VARCHAR |
STRING |
VARCHAR(最大) |
CLOB TEXT 要将此数据类型与一起使用 Amazon DMS,必须允许将CLOB数据类型用于特定任务。 对于SQL服务器表,即使对于不更改 Server 中LOB列值的UPDATE语句,也会 Amazon DMS 更新目标中的LOBSQL列。 期间CDC,仅 Amazon DMS 支持包含主键的表中的CLOB数据类型。 |
NCHAR |
WSTRING |
NVARCHAR(长度) |
WSTRING |
NVARCHAR(最大) |
NCLOB NTEXT 要将此数据类型与一起使用 Amazon DMS,必须 SupportLobs 为特定任务启用使用。有关启用 Lob 支持的更多信息,请参阅在 Amazon DMS 任务中设置对源数据库的LOB支持。 对于SQL服务器表,即使对于不更改 Server 中LOB列值的UPDATE语句,也会 Amazon DMS 更新目标中的LOBSQL列。 期间CDC,仅 Amazon DMS 支持包含主键的表中的CLOB数据类型。 |
BINARY |
BYTES |
VARBINARY |
BYTES |
VARBINARY(最大) |
BLOB IMAGE 对于SQL服务器表,即使对于不更改 Server 中LOB列值的UPDATE语句,也会 Amazon DMS 更新目标中的LOBSQL列。 要将此数据类型与一起使用 Amazon DMS,必须允许将BLOB数据类型用于特定任务。 Amazon DMS 仅支持包含主键的表中的BLOB数据类型。 |
TIMESTAMP |
BYTES |
UNIQUEIDENTIFIER |
STRING |
HIERARCHYID |
HIERARCHYID在复制到SQL服务器目标端点时使用。 复制到所有其他目标端点时使用 WSTRING (250)。 |
XML |
NCLOB 对于SQL服务器表,即使对于不更改 Server 中LOB列值的UPDATE语句,也会 Amazon DMS 更新目标中的LOBSQL列。 要将此数据类型与一起使用 Amazon DMS,必须允许将NCLOB数据类型用于特定任务。 期间CDC,仅 Amazon DMS 支持包含主键的表中的NCLOB数据类型。 |
GEOMETRY |
GEOMETRY在复制到支持此数据类型的目标端点时使用。 CLOB在复制到不支持此数据类型的目标端点时使用。 |
GEOGRAPHY |
GEOGRAPHY在复制到支持此数据类型的目标端点时使用。 CLOB在复制到不支持此数据类型的目标端点时使用。 |
Amazon DMS 不支持包含以下数据类型的字段的表。
-
CURSOR
-
SQL_VARIANT
-
TABLE
注意
根据用户定义的数据类型的基类型来支持这些类型。例如,基于DATETIME的用户定义的数据类型作为DATETIME数据类型进行处理。