更改 SQL Server 复制作业中的架构

本页面介绍了如何在进行 Cloud Data Fusion 时更改 Cloud Data Fusion 中的架构。 将数据从 Microsoft SQL Server 数据库复制到 BigQuery 表。 为确保复制作业在架构更改后继续从 SQL Server 源复制数据,请执行以下步骤。

更改架构

  1. 前往您的实例:

    1. 在 Google Cloud 控制台中,转到 Cloud Data Fusion 页面。

    2. 如需在 Cloud Data Fusion Studio 中打开实例,请点击实例,然后点击查看实例

      转到实例

  2. 在 Cloud Data Fusion 网页界面中,点击复制

  3. 停止复制作业。

  4. 应用受支持的架构更改 例如添加可为 null 的列

  5. 使用 sys.sp_cdc_enable_table 过程创建新的捕获表 参数 @capture_instance 的唯一值。

  6. 在 BigQuery 中对目标表应用相同的架构更改。

  7. 重启复制作业。

  8. 可选:当作业开始流式传输以下两项后发生的新更改时: 停止作业后,可以使用 sys.sp_cdc_disable_table 个存储过程。将参数 @capture_instance 设置为旧的捕获实例名称。

将架构更改应用于源表之后和创建新表之前 捕获表格(正如您在前面的步骤中执行的操作),所有更改都将由 旧架构与旧架构相关联如果您添加了列,则在此期间发生的任何更改事件都不会包含新列的数据。如果您的应用无法处理此类转换,请按以下步骤操作:

  1. 暂停所有生成数据库记录的应用。

  2. 确保复制作业已处理了所有现有作业 事件。

  3. 停止复制作业。

  4. 将架构更改应用于源表,例如添加可为 null 的列

  5. 使用 sys.sp_cdc_enable_table 过程创建新的捕获表 参数 @capture_instance 的唯一值。

  6. 恢复您在第一步中暂停的应用。

  7. 在 BigQuery 中对目标表应用相同的架构更改。

  8. 重启复制作业。

  9. 可选:当作业开始流式传输您在上一步中创建新捕获表后发生的新更改时,您可以使用 sys.sp_cdc_disable_table 存储过程删除旧捕获表。将参数 @capture_instance 设置为旧的捕获实例名称。

后续步骤