如何在azure中定期运行sql查询?

如何在azure中定期运行sql查询?,sql,azure,azure-sql-database,Sql,Azure,Azure Sql Database,我知道有些作业可以定期运行或查询数据库。如何在azure sql表中每隔“x”天运行此代码 DELETE FROM [MobileServiceExtra].[ACTIVITY] WHERE [NewsItemDate] < GETDATE()- 5 从[MobileServiceExtra].[活动]中删除 其中[NewsItemDate]

我知道有些作业可以定期运行或查询数据库。如何在azure sql表中每隔“x”天运行此代码

DELETE FROM [MobileServiceExtra].[ACTIVITY]
WHERE [NewsItemDate] < GETDATE()- 5
从[MobileServiceExtra].[活动]中删除
其中[NewsItemDate]
似乎是Azure

但是,根据MSDN上的一系列博客文章,您可以使用Windows Azure Worker角色来安排自定义作业(运行SQL):

我还没有尝试过这个,所以我无法告诉您这是否是一个可行的解决方案。

我们在Azure的web和worker组合角色中使用


你可以看到我的同事发布的关于它的帖子

看起来你在使用移动服务。移动服务附带一个调度器,它可以连接到您的数据库,并在定期计划中执行您需要的任何操作

更多信息:

最后,您将在调度程序中编写一点javascript,它将运行SQL语句:

function Call_sp_ClearOldLogs() {
    console.log("Executing sp_ClearOldLogs...");
    mssql.query('EXEC dbo.sp_ClearOldLogs', {
        success: function(results) {
        console.log("Finished executing sp_ClearOldLogs.");
        }
    });
}

WindowsAzure调度程序是一项新服务,刚刚进入预览-。这看起来像是一个做这类事情的通用服务。我不希望Azure上的SQL永远支持代理。

您现在可以使用windows Azure计划程序预览

请查看定价,现在他们每月收费10美元,一旦预览期结束,将增加到每月20美元

您也可以尝试aditi scheduler,aditi scheduler的唯一问题是它在azure store中可用(在许多国家/地区无法访问),您必须再次使用信用卡才能使用它

希望有帮助

谢谢


Mohit Chhabra

如果您愿意为此使用服务,我们将提供。它的工作方式是,您在数据库中创建一个存储过程来执行此代码,并简单地设置一个计划,以确定您希望它运行的频率。

您可以使用Azure Automation Runbook。例子。我将此功能用于每日表截断,非常适合我。

移动服务计划任务使用Windows Azure调度程序(请参阅下一篇文章)。回答很好:)。您从哪里获得移动服务计划程序使用Windows Azure计划程序的信息?FAQ清楚地说明了这些是相互独立的:请参阅本页的第二点:哦,你明白我的意思了。我没看见那个!使用Windows Azure Scheduler而不是Quartz。Quartz具有Azure Scheduler没有的功能。我读到的关于Azure的所有信息都表明这是正确的;SQL Azure!=SQL Server以及代理之类的东西确实缺失了,这意味着您必须在这种情况下找到解决方法。