使用 AWS Database MIgration 服务将数据迁移到 Sql 服务器时,在日光转换期间时间戳关闭一小时

问题描述

我们正在尝试将 AWS RDS 上的 MysqL 数据库迁移到 AWS 上的 sql Server 数据库

数据库和目标数据库都是在 PST 时区创建的。

复制实例版本:3.4.4 MysqL 版本:5.7 sql server 版本:标准版 15.00

MysqL 数据库将参数 time_zone = US/Pacific 附加到 Cluster 参数组。

Source 上的 DMS 额外连接属性如下所示。

serverTimezone = US/Pacific

我尝试将数据从源迁移到目标,发现以下差异。

在满载时,在日光转换时间,时间戳数据类型变量在 10 小时内下降了一个小时。

来源:

id  Created_at
1   2021-07-13 18:01:48
**2 2019-11-02 18:23:00
2   2020-03-07 16:19:00
4   2020-10-31 17:01:00
5   2021-03-13 17:01:00**
6   2021-07-13 18:04:20
8   2021-07-13 18:09:46

目标:

id  Created_at
1   2021-07-13 18:01:48
**2 2019-11-02 17:23:00
2   2020-03-07 17:19:00
4   2020-10-31 16:01:00
5   2021-03-13 18:01:00**
6   2021-07-13 18:04:20
8   2021-07-13 18:09:46

突出显示的值偏离了一个小时。日光过渡发生在 2019-11-032020-03-082020-11-012021-03-14。日光过渡 10 小时前和过渡完成后(凌晨 2:00)的数据看起来正常。

正在进行的复制过程试图在sql server的PST时区中插入数据

因此,我们更改了 Source 上的参数并尝试了以下额外连接属性

initstmt = set time_zone = 'US/Pacific'

这给了我们不同的问题。 Target 上的满载正确插入了所有记录。

来源:

id  Created_at
1   2021-07-13 18:01:48
**2 2019-11-02 18:23:00
2   2020-03-07 16:19:00
4   2020-10-31 17:01:00
5   2021-03-13 17:01:00**
6   2021-07-13 18:04:20
8   2021-07-13 18:09:46

目标:

id  Created_at
1   2021-07-13 18:01:48
**2 2019-11-02 18:23:00
2   2020-03-07 16:19:00
4   2020-10-31 17:01:00
5   2021-03-13 17:01:00**
6   2021-07-13 18:04:20
8   2021-07-13 18:09:46

但是正在进行的复制是在 UTC 时区而不是 PST 中插入记录。

来源:

id  Created_at
1   2021-07-13 18:01:48
2   2019-11-02 18:23:00
2   2020-03-07 16:19:00
4   2020-10-31 17:01:00
5   2021-03-13 17:01:00
6   2021-07-13 18:04:20
8   2021-07-13 18:09:46
**9 2021-07-13 18:30:57**

目标:

id  Created_at
1   2021-07-13 18:01:48
2   2019-11-02 18:23:00
2   2020-03-07 16:19:00
4   2020-10-31 17:01:00
5   2021-03-13 17:01:00
6   2021-07-13 18:04:20
8   2021-07-13 18:09:46
**9 2021-07-14 01:30:57** 

所以我无法正确迁移数据。感谢您的帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)