小编Dea*_*one的帖子

SQL Server CLR 过程和 SQLCLR_QUANTUM_PUNISHMENT

我有一个在 SQL Server 2014 上运行的 CLR 存储过程。这个存储过程收集一些数据(通常在数万行范围内编号),对数据运行一些计算,生成一个输出数据集,并写入该输出数据集到几个目标表。对于小型运行,这需要几秒钟。对于我们较大的运行,目前大约需要 25 分钟。在这 25 分钟内,我们观察到大量 SQLCLR_QUANTUM_PUNISHMENT 等待。所以我试图让自己了解我们可以做些什么来减少这些等待的发生。我发现大量资源告诉我,“当 CLR 任务因超出其执行量而受到限制时发生。这种限制是为了减少此资源密集型任务对其他任务的影响。” 和我' 已经读过 SQL Server 的执行时间为 4 毫秒。那么我是否可以假设任何时候 CLR 存储过程或函数占用超过 4 毫秒的 CPU 时间,都会发生这种等待类型?

另外,我找到了一个参考资料,指出某些 CLR 过程应该产生. 现在,我们的 CLR 过程是单线程的。我当然可以在关键位置添加一些睡眠调用,看看会产生什么样的影响。但我想更好地了解正在发生的事情。因此,如果有人有一些好的知识可以分享或有一个好的文档/文章的链接,我将不胜感激。在 BOL 引用之外查找有关此等待类型的信息有点困难。

sql-server wait-types sql-clr sql-server-2014

6
推荐指数
1
解决办法
545
查看次数

标签 统计

sql-clr ×1

sql-server ×1

sql-server-2014 ×1

wait-types ×1