在Microsoft Azure中安排Sql作业的最佳方式是什么?
我有一个SQL作业,它实际上检查所有索引和重建索引中的碎片%(如果需要)。在我的测试服务器Microsoft Sql Server 2012中运行良好。但是我的生产服务器位于Azure中。现在我想把这个工作安排到Azure。 如何安排Azure Db中的Sql作业? 我是Azure的新手。在Microsoft Azure中安排Sql作业的最佳方式是什么?
Azure SQL不支持SQL作业。从documentation:
Microsoft Azure SQL数据库不支持SQL Server代理或 作业。但是,您可以在本地SQL 服务器上运行SQL Server代理并连接到Microsoft Azure SQL数据库。
WebJobs:如果您有一个网站,您可以创建Webjob并按计划运行它。 See more here
其他的替代品 - Scheduling job on SQL Azure
此功能已被微软拒绝,见here。
要引用的帖子:
今天在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 Automation的新 预览版 http://azure.microsoft.com/en-us/services/automation/。
4)在VM
选项1的SQL Server 需要一个附加的专用的云服务,这增加了成本。选项2是免费的(我认为),只要你每小时运行不超过一次。
由于这个问题首次提出,现在有另一种选择来处理这个问题:
Azure的功能
这里有两个例子很容易被修改,以调用重建存储过程的指标
- Create a function in Azure that is triggered by a timer
- Use Azure Functions to connect to an Azure SQL Database
另见
- How to maintain Azure SQL Indexes and Statistics - 本页面已经重建索引时,您可以下载一个示例存储过程。
- Reorganize and Rebuild Indexes
有几件事情要记住与Azure的功能
- 它们是建立在Azure上的Web乔布斯SDK的顶部,并提供额外的功能
- 有two different pricing models:
- 应用服务计划(附加到现有计划)
- 预测的成本模型
- 它把你的网站上使用相同的VM额外负载
- 消费计划
- You get some free processing every month
- The default maximum run time为5分钟,以防止计费问题,但它可以通过host.json文件进行更改。
- 应用服务计划(附加到现有计划)