使用AWS DMS将SQL Server迁移到AWS S3时如何捕获CDC操作时间?

时间:2019-06-13 01:18:25

标签: sql-server database-migration cdc aws-dms

我想使用AWS DMS将本地SQL Server CDC迁移到S3文件。一切正常,但CDC操作时间已达到目标。 我有:

    [__$start_lsn]
    ,[__$end_lsn]
    ,[__$seqval]
    ,[__$operation]

将数据列在目标中,但与时序无关。 如何在目标中获得手术时间?

我知道,如果有一种方法可以在目标中返回SQL函数的结果,则可以调用sys.fn_cdc_map_lsn_to_time(x.__$start_lsn)函数,但不知道如何执行。

本地SQL Server版本为:

Microsoft SQL Server 2014(SP1-CU4)-12.0.4436.0(X64) 企业版:Windows NT 6.1(内部版本7601:Service Pack 1)(管理程序)上的基于内核的许可(64位)

1 个答案:

答案 0 :(得分:0)

根据您在评论中对我澄清的问题的回答,我认为这会起作用:

select sys.fn_cdc_map_lsn_to_time(__$start_lsn)
from «some change instance»;

您可以从«some change instance»系统存储过程中获取sys.sp_cdc_help_change_data_capture的值。

但是!我猜测您想使用它来跟踪DMS操作的进度。如果是这样,建议您稍微更改一下查询。像这样:

select sys.fn_cdc_map_lsn_to_time(max(__$start_lsn))
from «some change instance»;

也就是说,映射last_lsn的时间而不是所有的时间。好打猎!