我如何知道存储过程是否正在使用?

时间:2017-10-18 08:57:53

标签: c# .net sql-server asp.net-mvc database

我有一个绑定到MS SQL Server数据库的ASP.NET MVC 4网站。我可以在许多aspnet_存储过程中看到一些自定义的。

我如何知道这些自定义存储过程是否正在使用?我应该查看C#代码还是别的什么?

感谢。

2 个答案:

答案 0 :(得分:1)

在对象资源管理器中,右键单击存储过程 - >查看依赖关系。

此外,在存储过程的名称后搜索c#代码。

答案 1 :(得分:0)

如果您具有相关的SQL权限,则可以运行

SELECT 
    DB_NAME(database_id),
    OBJECT_NAME(object_id),
    cached_time,
    last_execution_time,
    execution_count
FROM 
    sys.dm_exec_procedure_stats;

这将告诉您每次存储过程的最后一次在您要查询的实例上。

除此之外,我认为没有办法。缓存在某种程度上存储了执行计划,但它们变得非常庞大,默认情况下会在存储中被截断。并且存储过程可以配置为在没有执行计划的情况下运行,尤其是常规的新编译存储过程。

除非您确定您的代码是唯一的客户,否则搜索C#几乎肯定无法帮助您。