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

时间:2018-08-01 15:04:03

标签: sql azure scheduling

我正在尝试将数据库从sql服务器迁移到Azure。该数据库具有2个相当简单的插入数据的TSQL脚本。由于SQL代理在Azure上不存在,因此我试图找到一种替代方法。

我看到了自动化的东西,但是对于像运行SQL脚本这样简单的东西来说,看起来确实很复杂。有没有更好或更简单的方法可以做到这一点?

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

谢谢

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

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

  1. 如果您愿意使用现有的本地sql服务器代理,则可以连接到Azure sql数据库(使用链接的服务器)并以与本地sql服务器相同的方式执行作业。

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

  4. 另一种不太著名的方法可能是使用webjobs(在应用程序服务Web应用程序下)安排任务(可以在此处使用powershell脚本)。这样做的缺点是一旦创建了Webjob,您将无法更改任何内容

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

  6. 如果您没有直接使用sql的选项,如果还有一些其他方法,还有一些“ Scheduler Job Collection”可用于安排HTTP端点的调用,并且可以抽象化sql操作/在该端点中实现。这只会对不那么繁琐的sql操作有用,否则,如果该操作可能会超时,则机会较长。

答案 2 :(得分:0)

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

SQL Server connector

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

SQL Connector options

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

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