C# 查找特定asp.net页面中使用的所有存储过程的简单方法是什么?

C# 查找特定asp.net页面中使用的所有存储过程的简单方法是什么?,c#,asp.net,sql-server,stored-procedures,C#,Asp.net,Sql Server,Stored Procedures,我需要找到在特定页面中使用的所有SP。问题是,它们不是直接从页面调用的,而是从其他项目中的其他程序集调用的。因此,我需要分析所有代码以找到它们。我只是觉得可能还有其他方法?在应用程序中运行此页面并捕获SQL server调用时的所有时刻?使用VS 2010、MSSQL 2008、C、web表单。我想到了使用Profiler来获取应用程序中某些特定页面上的SP列表,这是我从两个人那里开发的,他们留下了评论。在这里,我只想与大家分享我如何使用Profiler的详细信息: 运行分析器 选择TSQ_SP

我需要找到在特定页面中使用的所有SP。问题是,它们不是直接从页面调用的,而是从其他项目中的其他程序集调用的。因此,我需要分析所有代码以找到它们。我只是觉得可能还有其他方法?在应用程序中运行此页面并捕获SQL server调用时的所有时刻?使用VS 2010、MSSQL 2008、C、web表单。

我想到了使用Profiler来获取应用程序中某些特定页面上的SP列表,这是我从两个人那里开发的,他们留下了评论。在这里,我只想与大家分享我如何使用Profiler的详细信息:

运行分析器 选择TSQ_SPs模板 在“事件选择”选项卡上,选中“显示所有列”复选框 在同一页上,仅检查一个事件:SP:已完成 在ColumFilters上,为ApplicationName、DatabaseName、HostName和LoginName设置筛选器。 实际上,只有数据库名和主机名就足够了。主机名作为我的计算机名,因为我从VS本地运行应用程序。 将跟踪属性另存为模板。 运行跟踪 运行应用程序。 加载所需页面之前,请清除跟踪 打开页面并按页面上的不同按钮和控件 完成页面上的所有操作后,将跟踪另存为跟踪表并保存到db。 正在运行以下查询:

从SPTableName中选择不同的ObjectName

以及获取此页的SP列表。 DISTINCT允许您消除重复的SP,因为SP在每个页面上运行多次


对每个页面重复9-12次。

我想到了使用Profiler来获取应用程序中某些特定页面上的SP列表,这是我从两个人那里开发的,他们留下了评论。在这里,我只想与大家分享我如何使用Profiler的详细信息:

运行分析器 选择TSQ_SPs模板 在“事件选择”选项卡上,选中“显示所有列”复选框 在同一页上,仅检查一个事件:SP:已完成 在ColumFilters上,为ApplicationName、DatabaseName、HostName和LoginName设置筛选器。 实际上,只有数据库名和主机名就足够了。主机名作为我的计算机名,因为我从VS本地运行应用程序。 将跟踪属性另存为模板。 运行跟踪 运行应用程序。 加载所需页面之前,请清除跟踪 打开页面并按页面上的不同按钮和控件 完成页面上的所有操作后,将跟踪另存为跟踪表并保存到db。 正在运行以下查询:

从SPTableName中选择不同的ObjectName

以及获取此页的SP列表。 DISTINCT允许您消除重复的SP,因为SP在每个页面上运行多次


对每个页面重复9-12。

如果您是当时唯一使用该页面的人,您可以在SQL server上运行跟踪,只针对该数据库查看调用了哪些过程。您可以打开SQL profiler查看活动,但这不能保证您能找到所有活动,具体取决于您的logicI run profiler,但是服务器上运行的进程太多,很难看到来自此页面的调用。Trace,这是你在profiler中创建的,对吗?也许你们可以,它只显示来自这个应用程序的调用?它显示服务器上所有数据库上的事件,我怎么能只选择一个?好的,找到了筛选器。谢谢你的想法,我会试试这个。如果你是当时唯一使用该页面的人,你可以在SQL server上运行跟踪,只针对该数据库查看调用了哪些过程。你可以打开SQL profiler查看活动,但这不能保证你能找到所有活动,具体取决于你的logicI run profiler,但是服务器上运行的进程太多,很难看到来自此页面的调用。Trace,这是你在profiler中创建的,对吗?也许你们可以,它只显示来自这个应用程序的调用?它显示服务器上所有数据库上的事件,我怎么能只选择一个?好的,找到了筛选器。谢谢你的想法,我会试试这个。这取决于用户在步骤8中运行的场景使用了代码中的所有SP,对吗?我不完全理解你的意思。使用其他项目和库从页面调用SPs,但不是直接调用。假设页面中的所有代码最终都有三个SP。其中两个用于频繁使用的函数,而第三个不太频繁。步骤8中使用的场景必须包括运行页面的所有功能,包括较少使用的功能。正确吗?是的,理想情况下您应该使用所有功能。例如,输入一些信息的页面。您需要使用每个下拉列表,然后使用不同的选项多次保存信息。但当然,它并不能让您100%获得所有SP。所以你需要分析代码。但是,因为每页都有大约50-100个SP在调用,所以首先运行探查器并创建SP草稿列表可以节省大量时间。这取决于用户在步骤8中运行的场景使用了代码中的所有SP,对吗?我不完全理解您的意思。SPs使用其他项目和库从页面调用,但不是直接调用
最后是三个SP。其中两个用于频繁使用的函数,而第三个不太频繁。步骤8中使用的场景必须包括运行页面的所有功能,包括较少使用的功能。正确吗?是的,理想情况下您应该使用所有功能。例如,输入一些信息的页面。您需要使用每个下拉列表,然后使用不同的选项多次保存信息。但当然,它并不能让您100%获得所有SP。所以你需要分析代码。但由于每页都有大约50-100个SP在调用,因此首先运行探查器并创建SP草稿列表可以节省大量时间。