29

我有一个 SQL 代理维护工作,它检查数据库中的索引碎片并在需要时重建索引。

这在我的测试服务器(Microsoft Sql Server 2012)中运行良好。但我的生产服务器在 Azure 中。现在我想将该作业安排到 Azure。

Azure SQL 数据库中不存在 SQL 代理,那么如何在 Azure Db 中安排 Sql 作业?

4

5 回答 5

21

自从第一次提出这个问题以来,现在有另一种方法来处理这个问题:
Azure Functions

这里有几个示例可以很容易地修改为调用重建索引的存储过程

另见

使用 Azure 函数时要记住的一些事项

编辑 2021 年 9 月 5 日以添加其他信息

需要注意的是,如果您需要 SQL 代理,您现在还有另一个选择。我建议阅读 Azure SQL 托管实例。您可以在 Microsoft 文档中查看 Azure SQL 与 Azure SQL 托管实例的比较。使用 Azure SQL 托管实例,您向云的过渡可能会简单得多,因为您习惯的许多本地功能已经存在(包括 SQL Server 代理、数据库邮件等)。

于 2018-01-03T15:52:54.563 回答
6

此功能已被 Microsoft 拒绝,请参阅此处

引用帖子:

今天在 Azure 中有几种选择,

1) SQL 数据库弹性作业 http://azure.microsoft.com/en-us/documentation/articles/sql-database-elastic-jobs-overview/

2) Azure 作业调度程序 http://www.windowsazure.com/en-us/services/scheduler/

3) Azure 自动化新预览版 http://azure.microsoft.com/en-us/services/automation/

4) 虚拟机中的 SQL Server

选项 1 需要额外的专用云服务,这会增加成本。选项 2 是免费的(我认为),只要您每小时运行的次数不超过一次。

于 2016-01-13T17:09:50.477 回答
5

Azure SQL 不支持 sql 作业。从文档

Microsoft Azure SQL 数据库不支持 SQL Server 代理或作业。但是,您可以在本地 SQL Server 上运行 SQL Server 代理并连接到 Microsoft Azure SQL 数据库。

WebJobs:如果您有一个网站,您可以创建 webjob 并按时运行它。在这里查看更多

其他替代方案 -在 SQL Azure 上调度作业

于 2014-12-05T07:25:52.167 回答
0

您可以使用 Azure 自动化在 Azure-DB 上安排作业,例如本地 SQL 代理。

有关详细信息,请参阅https://azure.microsoft.com/nl-nl/blog/azure-automation-your-sql-agent-in-the-cloud/

于 2019-09-26T13:47:22.727 回答
0

另一种选择是rovergo,该服务允许您使用 cron 表达式安排 sql 作业。这很好,因为您不必创建 Web 作业或 azure 函数。您可以简单地安排一个 sql 脚本。

(我是 rovergo 的开发者)

于 2018-09-26T13:35:25.163 回答