问题描述
我们正在尝试将 AWS RDS 上的 MysqL 数据库迁移到 AWS 上的 sql Server 数据库。
复制实例版本: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-03
、2020-03-08
、2020-11-01
和 2021-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 (将#修改为@)