2017-10-18 82 views
0

我有一个ASP.NET MVC 4网站绑定到MS SQL Server数据库。我可以在许多aspnet_存储过程中看到一些自定义的过程。如何知道存储过程是否正在使用?

如何知道这些自定义存储过程是否正在使用?我应该检查C#代码还是其他?

谢谢。

+0

自定义存储过程不应该有'aspnet_'前缀 –

+0

为什么你需要知道使用哪一个?你想迁移到其他类型的数据库吗?链接如何获取有关生产中使用的SP的信息,例如https://www.mssqltips.com/sqlservertip/3259/several-methods-to-collect-sql-server-stored-procedure-execution-history/ – zxxc

回答

1

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

另外,通过存储过程的名称后面的c#代码进行搜索。

+0

OP应该完全做到这一点,但如果有其他客户使用该数据库,它将无法帮助他。 –

+0

当然,我想我们的答案组合是最好的。 – hellogoodnight

+0

他们都只依赖于他们自己... – abenci

0

如果您有相关的SQL的权限,你可以只运行

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

这会告诉你最后一次的每个存储过程运行您所查询实例。

除此之外,我认为没有办法。缓存在一定程度上存储执行计划,但它们变得巨大并且在存储中默认被截断。并且存储过程可以配置为无需执行计划即可运行,特别是groovy新编译的存储过程。

搜索C#几乎肯定不会帮助您,除非您确定您的代码是唯一的客户端。

相关问题