我正在尝试将数据库从 SQL Server 迁移到 Azure。该数据库有 2 个相当简单的 TSQL 脚本来插入数据。由于 Azure 上不存在 SQL 代理,我正在尝试寻找替代方案。
我看到了自动化的东西,但对于像运行 SQL 脚本这样简单的事情来说,它似乎真的很复杂。有没有更好或至少更简单的方法来做到这一点?
我的印象是有一个调度程序,因为我找不到它。
谢谢
有多种方法可以根据您的用例在 azure sql 数据库上运行计划任务/作业 -
如果您习惯使用现有的本地 sql 服务器代理,您可以连接到 azure sql 数据库(使用链接服务器)并以我们在本地 sql 服务器上使用的相同方式执行作业。
使用自动化帐户/Runbook 创建 sql 作业。如果您看到市场,您可以在 azure sql db 上找到几个示例(备份、恢复、索引作业...)。我猜您已经尝试过了,但对您来说这似乎不是一个可行的解决方案。
另一种不太出名的方法可能是使用 webjobs(在应用程序服务 Web 应用程序下)来安排任务(可以在此处使用 powershell 脚本)。这样做的缺点是一旦创建了网络作业就无法更改任何内容
正如 @jayendran 所建议的,Azure 函数绝对是实现此用例的一个选项。
如果您没有直接使用 sql 的选项,则可以使用 azure 中的“调度程序作业集合”来安排 HTTP 端点的调用,并且可以在其中抽象/实现 sql 操作端点。这仅对不太繁重的 sql 操作有用,否则如果操作需要更长的时间,它可能会超时。
您可以使用 Azure Functions 运行 T-SQL 查询 进行计划使用 及时触发器。
您可以使用 Microsoft Flow (https://flow.microsoft.com) 通过 SQL Server 连接器创建编程流程。然后在连接器中设置 SQL Azure 服务器、数据库名称、用户名和密码。
有很多选项,但您可以用来每天运行 T-SQL 查询的选项如下:
您还可以在“数据”-->“连接”菜单中编辑您的连接信息。
弹性作业是在上面执行自定义作业的作业调度服务 Azure SQL 数据库或 Azure SQL 数据库中的一个或多个数据库 弹性池。 [...]