【问题标题】:How to schedule procedure in Azure Synapse如何在 Azure Synapse 中安排程序
【发布时间】:2022-01-06 14:57:33
【问题描述】:

我在 Azure DWH 中创建了一些程序,需要每天安排程序。

之前我们使用 SQL 代理运行它们,但在 Synapse 中似乎无法实现

【问题讨论】:

  • 这是 Synapse(以前的 SQL 数据仓库)还是 Synapse Workspaces(预览版)?如果是 SQLDW,则可以在计划的触发器上使用 Azure 数据工厂 (ADF) 来调用存储过程。如果是Workspaces,那么你可以使用集成管道(实际上是ADF)来调用存储过程。
  • 这是 SQLDW。是否有关于如何实现这一点的详细步骤或我可以遵循的任何文档

标签: azure-synapse


【解决方案1】:

很遗憾,Azure Synapse Analytics 不支持计划存储过程。

最近在无服务器 SQL 池引擎端发布了存储过程。 Synapse Studio 支持尚未到来。

参考:Using stored procedures in Synapse SQL pool

【讨论】:

  • 如果我的回答对您有帮助,您可以接受它作为答案(单击答案旁边的复选标记,将其从灰色切换为已填充。)。这对其他社区成员可能是有益的。谢谢。
【解决方案2】:

通过在 Azure Synapse Studio 中使用 Synapse Pipelines,可以实现此场景。

  1. 打开 Azure Synapse Analytics 工作区
  2. 转到集成活动中心
  3. 创建新管道
  4. 拖放活动称为:“SQL 池存储过程”
  5. 选择您要在其中执行存储过程的 SQL 专用池
  6. 选择您要执行的存储过程
  7. 通过单击“添加触发器”然后立即触发(例如)来触发管道
  8. 在 Monitor 活动中心,您可以看到该管道和内部存储过程的结果。

如果您有专用池(以前称为 SQL DW gen2),则可以将其升级到 Workspace lite,然后按照与上述标准工作区相同的步骤操作。

【讨论】:

    【解决方案3】:

    如果您想在 Synapse 上使用无服务器方法安排查询,您需要在 ADF 管道中使用 stored procedure 活动。 遵循的步骤(使用有用的资源):

    1. 创建无服务器 SQL 数据库并将其连接到您的外部存储 (https://docs.microsoft.com/en-us/azure/synapse-analytics/get-started-create-workspace)
    2. 在 db 上创建和测试 SQL 查询
    3. 从 SQL 查询创建存储过程并将其保存到数据库。 (https://endjin.com/blog/2021/08/managing-schemas-in-azure-synapse-sql-serverless)
    4. 创建 ADF 管道并选择 stored procedure 活动。
    5. 创建链接服务,在其中链接无服务器数据库端点。此端点可以在Synapse workspace 下的Azure Portal 中找到。您需要确保对数据库的权限才能启用连接。
    6. stored procedure 活动中,链接到创建的链接服务。然后应该可以选择存储过程。
    7. 将功能分支合并到主分支并发布。
    8. 创建一个触发器并将其链接到已发布的管道。

    【讨论】:

      猜你喜欢
      • 2021-12-05
      • 2023-01-31
      • 2021-10-04
      • 2021-11-26
      • 2020-12-16
      • 2022-06-16
      • 2021-05-19
      • 1970-01-01
      • 2022-01-13
      相关资源
      最近更新 更多