你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

适用于 Azure SQL 数据库的 Azure Synapse Link 入门

本文提供适用于 Azure SQL 数据库的 Azure Synapse Link 的循序渐进入门指南。 有关此功能的概述,请参阅适用于 Azure SQL 数据库的 Azure Synapse Link

先决条件

  • 若要获取 Azure Synapse Link for SQL,请参阅创建新的 Azure Synapse 工作区。 当前教程介绍如何在公用网络中创建 Azure Synapse Link for SQL。 本文假定你在创建 Azure Synapse 工作区时选择了“禁用托管虚拟网络”和“允许来自所有 IP 地址的连接”。 如果要为适用于 Azure SQL 数据库的 Azure Synapse Link 配置网络安全性,另请参阅为适用于 Azure SQL 数据库的 Azure Synapse Link 配置网络安全性

  • 对于基于数据库事务单位 (DTU) 的预配,请确保你的 Azure SQL 数据库服务至少是标准层,至少具有 100 个 DTU。 不支持预配的 DTU 少于 100 个的免费、基本或标准层。

配置源 Azure SQL 数据库

  1. 登录 Azure 门户

  2. 转到你的 Azure SQL 逻辑服务器,选择“标识”,然后将“系统分配的托管标识”设置为“打开”。

    Screenshot of turning on the system assigned managed identity.

  3. 转到“网络”,然后选中“允许 Azure 服务和资源访问此服务器”复选框。

    Screenshot that shows how to configure firewalls for your SQL database by using the Azure portal.

  4. 使用 Microsoft SQL Server Management Studio (SSMS) 或 Azure Data Studio 连接到逻辑服务器。 如果你希望 Azure Synapse 工作区使用托管标识连接到 Azure SQL 数据库,请在逻辑服务器上设置 Microsoft Entra 管理员权限。 若要在步骤 6 中应用特权,请使用相同的管理员名称以管理特权连接到逻辑服务器。

  5. 展开“数据库”,右键单击创建的数据库,然后选择“新建查询”。

    Screenshot that shows how to select your database and create a new query.

  6. 如果你希望 Azure Synapse 工作区使用托管标识连接到源 Azure SQL 数据库,请运行以下脚本,以便为托管标识提供对源数据库的权限。

    如果你希望 Azure Synapse 工作区通过 SQL 身份验证连接到源 Azure SQL 数据库,则可以跳过此步骤。

    CREATE USER <workspace name> FROM EXTERNAL PROVIDER;
    ALTER ROLE [db_owner] ADD MEMBER <workspace name>;
    
  7. 你可以使用自己的架构创建表。 以下代码只是 CREATE TABLE 查询的一个示例。 还可以在此表中插入一些行,以确保有可复制的数据。

    CREATE TABLE myTestTable1 (c1 int primary key, c2 int, c3 nvarchar(50)) 
    

创建目标 Azure Synapse SQL 池

  1. 打开 Synapse Studio

  2. 转到“管理”中心,选择“SQL 池”,然后选择“新建”。

    Screenshot that shows how to create a new SQL dedicated pool from Synapse Studio.

  3. 输入唯一的池名称,使用默认设置,然后创建专用池。

  4. 如果所需的架构在目标 Azure Synapse SQL 数据库中不可用,则需要创建一个架构。 如果架构是数据库所有者 (dbo),则可以跳过此步骤。

  1. 在 Azure 门户的左侧窗格中,选择“集成”。

  2. 在“集成”窗格中,选择加号 (+),然后选择“链接连接”。

    Screenshot that shows how to select a new link connection from Synapse Studio.

  3. 在“源链接服务”下,选择“新建”。

    Screenshot that shows how to select a new linked service.

  4. 输入源 Azure SQL 数据库的信息。

    • 选择与你的 Azure SQL 数据库对应的订阅、服务器和数据库。
    • 执行下列任一操作:
      • 若要使用工作区的托管标识将 Azure Synapse 工作区连接到源数据库,请将“身份验证类型”设置为“托管标识”。
      • 若要改用 SQL 身份验证并且你知道要使用的用户名和密码,请选择“SQL 身份验证”。

    Screenshot that shows how to enter the server and database details to create a new linked service.

  5. 选择“测试连接”,确保正确配置防火墙规则并且工作区可以成功连接到源 Azure SQL 数据库。

  6. 选择“创建”。

    注意

    此处创建的链接服务并非专用于 Azure Synapse Link for SQL。 具有相应权限的任何工作区用户都可以使用它。 请花些时间来了解可能有权访问此链接服务及其凭据的用户的范围。 有关 Azure Synapse 工作区中的权限的详细信息,请参阅 Azure Synapse 工作区访问控制概述 - Azure Synapse Analytics

  7. 选择要复制到 Azure Synapse 工作区的一个或多个源表,然后选择“继续”。

    注意

    一次只能在一个链接连接中启用指定的源表。

  8. 选择目标 Azure Synapse SQL 数据库和池。

  9. 为 Azure Synapse Link 连接提供名称,并选择链接连接计算的核心数。 这些核心用于将数据从源移动到目标。

    注意

    • 在此处选择的内核数将分配给引入服务,用于处理数据加载和更改。 它们不会影响源Azure SQL数据库配置或目标专用 SQL 池配置。
    • 我们建议从较少的核心开始,以后再根据需要增加核心数量。
  10. 选择“确定”。

  11. 打开新的 Azure Synapse Link 连接后,可以更新目标表名称、分布类型和结构类型。

    注意

    • 如果数据包含 varchar(max)、nvarchar(max) 和 varbinary(max),请考虑为结构类型使用堆表。
    • 在启动链接连接之前,请确保已在 Azure Synapse SQL 专用池中创建了架构。 Azure Synapse Link for SQL 将在 Azure Synapse SQL 专用池中的架构下自动创建表。

    Screenshot that shows where to edit the Azure Synapse Link connection from Synapse Studio.

  12. 选择“全部发布”以保存与服务的新链接连接。

选择“启动”,然后等待几分钟以完成数据复制。

注意

链接连接首先会从源数据库执行完整的初始加载,然后通过 Azure SQL 数据库中的更改源功能加载增量更改源。 有关详细信息,请参阅 Azure Synapse Link for SQL 更改源

可以监视 Azure Synapse Link 连接的状态,查看正在初始复制哪些表(快照),以及查看哪些表处于连续复制模式(复制)。

  1. 转到“监视”中心,然后选择“链接连接”。

    Screenshot that shows how to monitor the status of the Azure Synapse Link connection from the monitor hub.

  2. 打开启动的 Azure Synapse Link 连接并查看每个表的状态。

  3. 在连接监视视图中选择“刷新”,以观察任何状态更新。

查询复制的数据

等待几分钟,然后进行检查,以确保目标数据库包含所需的表和数据。 现在,还可以浏览目标 Azure Synapse SQL 专用池中的复制表。

  1. 在“工作区”下的“数据”中心中,打开目标数据库。

  2. 在“表”下,右键单击其中一个目标表。

  3. 选择“新建 SQL 脚本”,然后选择“前 100 行”。

  4. 运行此查询以查看目标 Azure Synapse SQL 专用池中的复制数据。

  5. 还可以使用 SSMS 或其他工具查询目标数据库。 将工作区的 SQL 专用终结点用作服务器名称。 该名称通常为 <workspacename>.sql.azuresynapse.net。 通过 SSMS 或其他工具连接时,添加 Database=databasename@poolname 作为额外的连接字符串参数。

若要在 Synapse Studio 中添加或删除表,请执行以下操作:

  1. 打开“集成”中心。

  2. 选择要编辑的链接连接,然后将其打开。

  3. 执行以下操作之一:

    • 若要添加表,请选择“新建表”。
    • 若要删除表,请选择其旁边的垃圾桶图标。

    Screenshot of the link connection pane for adding or removing tables.

    注意

    可以在链接连接正在运行时直接添加或删除表。

若要在 Synapse Studio 中停止 Azure Synapse Link 连接,请按照以下步骤操作:

  1. 在 Azure Synapse 工作区中,打开“集成”中心。

  2. 选择要编辑的链接连接,然后将其打开。

  3. 选择“停止”以停止链接连接,这会停止复制数据。

    Screenshot of the pane for stopping a link connection.

    注意

    如果在停止某个链接连接后重启它,它首先会从源数据库执行完整的初始加载,然后进行增量更改源加载。

后续步骤

如果使用的是 Azure SQL 数据库之外的数据库,请参阅: