2
我们有一个用户定义的函数创建前段时间其中显示了从为“暂停”状态了一个多星期:用户定义的功能是“暂停”状态是否正常?
USE master
SELECT *
FROM sys.dm_exec_requests
CROSS APPLY sys.dm_exec_sql_text(sql_handle)
ORDER BY start_time
以上从查询该行有“状态”为“暂停”,并继续递增每个值:
cpu_time
210262625
total_elapsed_time
623982642
reads
741700958
reads
19754
logical_reads
2938802909
我以前杀了SPID当它达到了37十亿logical_reads
,但它的使用非常普遍,当然显示右后卫,并开始这个模式。
我的问题确实分为两部分。
首先,这是一个常用的行为,大量使用的用户定义的函数看到它处于暂停状态?
其次,我该如何判断用户定义的函数被调用了多少次? (并且简单地称之为)
作为一个方面说明,我不是很满意这个函数和它是如何写的,但是除非这是“完全不正常”的行为,我现在没有时间重写它。
这是一个有用的答案 - 原来的功能从用户活动调用,但也从一个SQL代理作业 - 以不同的方式,代理作业挂起,仍然需要深入探讨为什么,但它为我的“忍者sql查询杀手军刀攻击”的目标(现在说5倍真快) –