将数据从 SQL Server 复制到 BigQuery

本教程介绍了如何创建和部署将更改的数据从 Microsoft SQL Server 数据库持续复制到 BigQuery 表的作业。

可选:设置 SQL Server 虚拟机实例

  1. 创建 SQL Server 实例

  2. 下载 AdventureWorks2017 (OLTP) 数据库,并将数据加载到 SQL Server 实例中。

在 SQL Server 数据库中启用 CDC

对于复制,请在要复制的数据库上启用变更数据捕获 (CDC)。

创建并运行 Cloud Data Fusion 复制作业

上传 JDBC 驱动程序

  1. 下载 SQL Server JDBC 驱动程序到本地机器。

  2. 在 Cloud Data Fusion 网页界面中,上传 JDBC 驱动程序。使用以下值配置 JDBC 驱动程序:

    • 名称字段中,输入 sqlserver
    • 类名称字段中,输入 com.microsoft.sqlserver.jdbc.SQLServerDriver
    • 版本字段中,保留默认值。

创建作业

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

  2. 点击 创建复制作业

  3. 创建新的复制作业 (Create new replication job) 页面上,指定复制作业的名称,然后点击下一步

  4. 配置来源:

    1. 选择 Microsoft SQL Server 作为来源。
    2. 对于主机,输入要从中读取的 SQL Server 的主机名。
    3. 对于端口,输入要用于连接到 SQL Server 的端口:1433
    4. 对于 JDBC 插件名称 (JDBC Plugin Name),选择 sqlserver 或您在配置 JDBC 驱动程序时指定的名称。
    5. 对于数据库名称,输入 AdventureWorks2017
    6. 凭据部分中,输入您的用户名和密码以访问 SQL Server。
  5. 点击下一步

  6. 配置目标:

    1. 选择 BigQuery 目标。
    2. 系统会自动检测项目 ID服务账号密钥。请保留默认值。
    3. 可选:在高级部分中,您可以配置 Cloud Storage 存储桶的名称和位置、加载间隔、暂存表前缀以及删除表或数据库时的行为。
  7. 点击下一步

  8. 如果连接成功,系统将显示 AdventureWorks2017 表的列表。在本教程中,选择一些表和事件,例如 InsertUpdateDelete 事件。

  9. 可选:配置高级属性。在本教程中,您可以接受默认设置。

  10. 点击下一步

  11. 审核评估 (Review assessment) 页面上,点击任一表的查看映射 (View mappings),以获取复制期间可能发生的架构问题、缺少功能或连接问题的评估。您必须先解决问题,然后才能继续。在本教程中,如果任何表出现问题,请返回到选择表的步骤,然后选择一个没有问题的表或事件。

    如需详细了解从源数据库到 BigQuery 目标数据库的数据类型转换,请参阅复制数据类型

  12. 点击 Back(返回)。

  13. 点击下一步

  14. 查看摘要复制作业详情,然后点击部署复制作业

启动作业

  • 复制作业详情页面中,点击开始

复制作业从正在预配依次转换为正在启动正在运行状态。在正在运行状态下,复制作业会将您选择的表数据的初始快照(例如,人员表)加载到 BigQuery 中。在此状态下,人员表的状态显示为正在截取快照 (Snapshotting)。在初始快照加载到 BigQuery 后,对人员表所做的任何更改都会复制到 BigQuery。表状态显示为正在复制

监控作业

您可以启动和停止复制作业、查看复制作业的配置和日志以及监控复制作业。

您可以通过复制作业详情 (Replication job details) 页面监控复制作业活动。

  1. 复制页面中,点击复制作业的名称

  2. 点击监控

在 BigQuery 中查看结果

复制作业会在 BigQuery 中使用继承自相应 SQL Server 数据库的名称和表名称创建复制数据集和表。

  1. 在Google Cloud 控制台中打开 BigQuery

  2. 在左侧面板中,点击项目名称以展开数据集列表。

  3. 选择 adventureworks2017 数据集,然后选择要查看的表。

如需了解详情,请参阅 BigQuery 文档