如何在 Azure 数据库上每天运行 T-SQL 查询

问题描述 投票:0回答:4

我正在尝试将数据库从 SQL Server 迁移到 Azure。该数据库有 2 个相当简单的 TSQL 脚本来插入数据。由于 Azure 上不存在 SQL 代理,我正在尝试寻找替代方案。

我看到了自动化的东西,但对于像运行 SQL 脚本这样简单的事情来说,它似乎真的很复杂。有没有更好或至少更简单的方法来做到这一点?

我的印象是有一个调度程序,因为我找不到它。

谢谢

sql azure scheduling
4个回答
1
投票

有多种方法可以根据您的用例在 azure sql 数据库上运行计划任务/作业 -

  1. 如果您习惯使用现有的本地 sql 服务器代理,您可以连接到 azure sql 数据库(使用链接服务器)并以我们在本地 sql 服务器上使用的相同方式执行作业。

  2. 使用自动化帐户/Runbook 创建 sql 作业。如果您看到市场,您可以在 azure sql db 上找到几个示例(备份、恢复、索引作业...)。我猜您已经尝试过了,但对您来说这似乎不是一个可行的解决方案。

  3. 另一种不太出名的方法可能是使用 webjobs(在应用程序服务 Web 应用程序下)来安排任务(可以在此处使用 powershell 脚本)。这样做的缺点是一旦创建了网络作业就无法更改任何内容

  4. 正如 @jayendran 所建议的,Azure 函数绝对是实现此用例的一个选项。

  5. 如果您没有直接使用 sql 的选项,则可以使用 azure 中的“调度程序作业集合”来安排 HTTP 端点的调用,并且可以在其中抽象/实现 sql 操作端点。这仅对不太繁重的 sql 操作有用,否则如果操作需要更长的时间,它可能会超时。


1
投票

您可以使用 Azure Functions 运行 T-SQL 查询 进行计划使用 及时触发器

enter image description here


0
投票

您可以使用 Microsoft Flow (https://flow.microsoft.com) 通过 SQL Server 连接器创建编程流程。然后在连接器中设置 SQL Azure 服务器、数据库名称、用户名和密码。

SQL Server 连接器

有很多选项,但您可以用来每天运行 T-SQL 查询的选项如下:

SQL 连接器选项

  • 执行 SQL 查询
  • 执行存储过程

您还可以在“数据”-->“连接”菜单中编辑您的连接信息。


0
投票

Azure Elastic Jobs怎么样?

弹性作业是在上面执行自定义作业的作业调度服务 Azure SQL 数据库或 Azure SQL 数据库中的一个或多个数据库 弹性池。 [...]

© www.soinside.com 2019 - 2024. All rights reserved.