如何找出存储过程每次有运行

How to find out every time a stored procedure has run

有没有办法找出存储过程在过去 X 天内每次 运行?有办法看到最后一次运行,但是如果我想看到最后X次怎么办。

我搜索时找不到任何东西。有什么建议吗?

有几种方法可以做到这一点。访问这里:https://www.mssqltips.com/sqlservertip/3259/several-methods-to-collect-sql-server-stored-procedure-execution-history/

我建议您利用扩展事件的功能来捕获直方图。您可以这样设置:

CREATE EVENT SESSION [ProcedureExecutionCount]
ON SERVER
    ADD EVENT sqlserver.rpc_completed
    (SET collect_statement = (0)
     WHERE (
               [sqlserver].[equal_i_sql_unicode_string]([sqlserver].[database_name], N'AdventureWorks')
               AND [object_name] = N'AddressByCity'
           )
    )
    ADD TARGET package0.histogram
    (SET filtering_event_name = N'sqlserver.rpc_completed', source = N'object_name', source_type = (0));

现在,只会,永远,计算该过程在该数据库上执行的次数。不错,简单,干净,容易。