【问题标题】:Azure SQL DTU very highAzure SQL DTU 非常高
【发布时间】:2015-07-21 15:17:14
【问题描述】:
Azure SQL 实例以大约 399% 的 DTU 运行。这减慢了我的整个应用程序。
一个工人角色昨晚启动了一些存储过程,并且似乎已经将处理发送到了屋顶。
有什么方法可以准确判断是哪些进程/程序导致了高 DTU?
有没有办法结束这些流程/程序?
我是 Azure 的新手,因此感谢任何可以帮助我确定确切原因并治愈我疯狂 DTU % 的指针。
【问题讨论】:
标签:
sql-server
azure
azure-sql-database
【解决方案1】:
您可以使用视图 sys.dm_exec_requests 来查看正在运行的进程,并使用 sys.dm_exec_query_stats 来查看过去已运行但仍将其计划放在缓存中的查询的统计信息,包括运行频率和每个查询的平均资源使用情况。
这些视图包括一个名为 SQL_HANDLE 的列,可用于探测函数 sys.dm_exec_sql_text() 记录在 here
(这个函数也可以直接加入我提到的前两个表——文档中有例子)
有一篇关于这个话题的好博客here
一旦找到要终止的正在运行的查询,只要您具有管理员权限,就可以根据 sys.dm_exec_requests 中报告的 session_id 从交互式查询工具或门户的 SQL 界面发出 KILL 命令。