azure sql限制每个操作的dtu资源

azure sql限制每个操作的dtu资源,azure,azure-sql-database,Azure,Azure Sql Database,不幸的是,上周azure将一个数据库从web层转移到了s1层。我手动将层增加到s2。努力改变系统中的一些东西,使dtu不会达到100% 现在我有了新的情况-我得到了后台运行的东西,并在数据库中做一些事情,如删除等。问题是后台消耗了100%的dtu,我的网站开始出错 我的问题是:有没有一种方法可以告诉每个查询/操作的sql使用最多X dtu?例如,我想创建一个索引,当我做这个操作时,我的dtu提升到100,它在那里停留了一段时间——我猜这是一个要构建的大索引——所以我再次陷入困境,我取消了查询,因

不幸的是,上周azure将一个数据库从web层转移到了s1层。我手动将层增加到s2。努力改变系统中的一些东西,使dtu不会达到100%

现在我有了新的情况-我得到了后台运行的东西,并在数据库中做一些事情,如删除等。问题是后台消耗了100%的dtu,我的网站开始出错

我的问题是:有没有一种方法可以告诉每个查询/操作的sql使用最多X dtu?例如,我想创建一个索引,当我做这个操作时,我的dtu提升到100,它在那里停留了一段时间——我猜这是一个要构建的大索引——所以我再次陷入困境,我取消了查询,因为我不希望我的最终用户遭受延迟


所有这些问题在web层中都不存在,并且一切工作都很顺利。

这是一个非常好的建议,不幸的是,限制特定查询或操作以使用有限的DTU是不可能的。可能在将来的版本中,他们可能会带来类似资源调控器的工具

我能想到的最接近限制查询DTU的方法是设置为

Option (MAXDOP 1)

查询可能会并行进行,并为每个线程消耗更多资源,因此限制MAXDOP将有助于限制DTU,但需要注意一些事项

因此,您目前所说的是,我无法创建一个索引来更好地执行我的应用程序,而不会伤害我的最终用户为什么需要一次又一次地创建索引,也许有更好的方法可以做到这一点。我想说的是,您不能限制查询或操作的DTU,请使用maxdop选项,这将确保这将消耗更少的资源,但有一些限制。您可以选择在创建索引所需的时间内提高性能级别。你是按小时计费的。