首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用外部launcher.exe单独启动SQL用户定义的过程,而不使用事务?

问如何使用外部launcher.exe单独启动SQL用户定义的过程,而不使用事务?
EN

Stack Overflow用户
提问于 2021-02-13 22:24:21
回答 1查看 86关注 0票数 0

我正在将旧的应用程序从“老而好”的SQL服务器迁移到Azure SQL。到现在为止还好。

旧的解决方案使用作业代理( Job )启动usp_data_pump,从第三方数据库获取数据。第一次运行(我的数据库为空)大约需要30分钟。由于添加了优化,当另一个数据库中的监视数据没有变化时,下一次运行大约需要5秒。这可能需要更多的时间,但是--因为数据是如何创建的--还需要几秒钟。然而,在某些情况下,我的数据库内容可以“重置”(用户操作),然后它可以再次花费这30分钟左右。

我需要每5分钟输入一次数据,以得到微小的变化。

由于Azure SQL没有作业代理,所以我决定使用及其标准计划程序每5分钟执行一次launcher.exe,它只连接到Azure,执行usp_data_pump存储过程并停止。然而,当调度程序运行时,它将“永远”运行。

我不知道会发生什么。第一个想法是,launcher.exe是在5分钟后再次启动的,而之前的任务还没有完成。但是,在计划任务的“设置”选项卡中,选项被设置为.

不要启动新实例

首先,如何实现usp_data_pump程序的周期性、排他性执行。事务不能在内部使用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-21 03:55:06

Azure SQL数据库为我们提供了两个自动作业: Azure MI的SQL代理和Azure SQL数据库的弹性作业,您可以使用弹性作业来执行您的存储过程。

参考本文档:使用弹性作业自动化管理任务

  • 您可以创建和调度弹性作业,这些作业可以对一个或多个Azure SQL数据库定期执行,以运行Transact-SQL ( tasks )查询并执行维护任务。

弹性工作代理是免费的。作业数据库的计费速率与Azure SQL数据库中的任何数据库相同。

HTH。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66190542

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档