加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

使用Sql Azure的计划任务?

发布时间:2020-12-12 16:18:36 所属栏目:MsSql教程 来源:网络整理
导读:我想知道是否有办法在SQL Azure中使用预定任务? 感谢每一位帮助. 关键是,我想每天运行一个简单的单行语句,并希望阻止设置辅助角色. 解决方法 今天没有SQL Azure等效的SQL Azure.您必须从后台任务调用单行语句.但是,如果您已经拥有Web角色,则可以轻松生成一个
我想知道是否有办法在SQL Azure中使用预定任务?
感谢每一位帮助.

关键是,我想每天运行一个简单的单行语句,并希望阻止设置辅助角色.

解决方法

今天没有SQL Azure等效的SQL Azure.您必须从后台任务调用单行语句.但是,如果您已经拥有Web角色,则可以轻松生成一个线程来在Web角色中处理此角色,而无需创建辅助角色.我在博客上写了关于 here的概念.要生成一个线程,您可以在OnStart()事件处理程序(其中Role实例尚未添加到负载均衡器)或Run()方法(其中Role)中执行此操作实例已添加到负载均衡器中).通常在OnStart()中进行设置是个好主意.

一个可能不明显的警告,无论是在自己的工作者角色中还是在现有Web角色的后台线程中执行此调用:如果将角色扩展到例如两个实例,则需要确保仅每日调用从其中一个实例发生(否则您最终可能会重复,或者执行多次可能代价高昂的操作).您可以使用一些技术来避免这种情况,例如表行锁定或Azure存储blob租约.使用前者,您可以使用该行来存储上次执行操作的时间戳.如果你获得了锁,你可以检查操作是否发生在设定的时间窗口内(可能是一小时?),以确定其中一个实例是否已经执行了它.如果您无法获取锁定,则可以假设另一个实例具有锁定并正在执行该命令.还有其他技术 – 这只是一个想法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读