我有一个 Azure 辅助角色,可以将一批记录插入表中。昨天,插入记录最多需要 5 分钟,但今天已经花费了几个小时。我怀疑该过程正在受到限制,但我没有遇到任何异常。如果您受到限制,SQL Azure 是否总是返回错误,或者是否有其他方法可以检测您是否受到限制?
问问题
3523 次
2 回答
4
在 CPU 节流的情况下,SQL 数据库不会抛出错误,但会减慢操作速度。目前没有任何机制可以确定这种形式的限制是否正在发生,除了可能查看查询统计信息,告诉您工作正在缓慢进行(如果您的 CPU 时间比平时低)。检查此链接以获取有关此行为的详细信息:性能和弹性指南(查找“引擎节流监控的性能阈值”)。
于 2012-07-11T18:57:04.740 回答
4
其中一项较新的功能是能够监控 SQL Azure 数据库具有的未完成请求的数量。您可以使用以下查询执行此操作:
从 sys.dm_exec_requests 中选择 count(*)
正如您将在本文档中看到的那样,达到工作线程的限制是被限制的一个关键原因。此处还记录了当您接近 180 个工作线程时,您可能会受到限制。
这是用于 SQL Azure的Cotega监视服务中用于检测问题的东西之一。[免责声明:我从事这项服务]
于 2013-06-12T02:14:26.390 回答