【发布时间】:2026-01-25 08:35:01
【问题描述】:
要求:
计算程序执行的次数
据我目前了解,sys.dm_exec_procedure_stats 可用于近似计数,但这只是自上次服务重启以来。我发现此 link on this website 相关,但我需要准确计数,并且在服务重启后不应冲掉。
请给我一些建议好吗?
Hack:我需要跟踪的过程有一个 select 语句,因此会返回一些存储在名为 Results 的永久表中的行。我能想到的最简单的解决方案是在Results 表中创建一个列来跟踪过程执行,在插入之前从该列中选择最大值,然后将其加一以增加计数。这个解决方案对我来说似乎也很愚蠢,但我能想到的最好的解决方案。
【问题讨论】:
-
可以修改 SProc 吗?
-
@Richard:是的,我可以。
-
当计划从缓存中删除时,dm_exec_procedure_stats 中的数据消失得更快。
-
在过程中创建一个序列并从中获取值?
-
@JamesZ:那么,有哪些方法可以准确地永久跟踪程序执行次数?
标签: sql-server stored-procedures ssms