C# 是否有任何方法可以在Sql Profiler或类似工具中获取.net堆栈跟踪?

C# 是否有任何方法可以在Sql Profiler或类似工具中获取.net堆栈跟踪?,c#,.net,sql-server,profiling,profiler,C#,.net,Sql Server,Profiling,Profiler,在我以前的工作中,我设计并帮助构建了一个运行时(生产),除了其他很酷的功能外,它还能够为执行的每个SQL语句提供.Net堆栈跟踪。可以将其视为使用类固醇的SQL Server探查器。因此,您不仅可以看到SQL语句和持续时间,还可以看到执行SQL的上下文。在开发以数据库为中心的应用程序时,我发现这些信息简直是天赐良机 问题是,由于该工具是由赛门铁克开发的,我之前的公司已被赛门铁克收购,尽管该工具仍然可以下载,但尚不清楚该工具的许可证是什么,也不清楚赛门铁克正在销售的是什么SKU 我想知道是否有人知

在我以前的工作中,我设计并帮助构建了一个运行时(生产),除了其他很酷的功能外,它还能够为执行的每个SQL语句提供.Net堆栈跟踪。可以将其视为使用类固醇的SQL Server探查器。因此,您不仅可以看到SQL语句和持续时间,还可以看到执行SQL的上下文。在开发以数据库为中心的应用程序时,我发现这些信息简直是天赐良机

问题是,由于该工具是由赛门铁克开发的,我之前的公司已被赛门铁克收购,尽管该工具仍然可以下载,但尚不清楚该工具的许可证是什么,也不清楚赛门铁克正在销售的是什么SKU

我想知道是否有人知道任何类似的工具可以为我的SQL语句执行提供堆栈跟踪


这一点仍然没有答案,蚂蚁等不会这样做,只考虑回答“不”,并接受它

我不确定它是否能满足您的需要,但我为.Net找到的最好的分析工具是,如果我记得的话,它会向您显示SQL以及所有.Net调用。

我们最近启动了一个名为。有一个工作站verison,您可以在一个盒子上使用,还有一个服务器/代理版本,用于对多个盒子进行操作

基本上,您可以针对特定的应用程序(或IIS)设置该工具。之后,它将收集针对其进行检测的方法调用。在您的场景中,您可以对整个名称空间进行插入,并获得所有内容

基本上,它通过IL注入跟踪每个方法调用。它通过检测ADO.Net(包括SP中的绑定变量)来获取数据库调用。它显然也可以跨Web服务调用进行跟踪

这非常酷,因为您可以查看特定的方法,查看调用该方法的所有路径,或者查看对某个方法的所有调用。您可以查看特定的数据库调用,以及该调用的所有代码路径


这很酷。

我在这里发布了一个答案,它汇集了几篇文章中的信息,加上一个可以用作MySQL穷人查询监视器的应用程序: