有什么方法可以在Sql Profiler或类似的工具中获得.net堆栈跟踪?

时间:2008-10-15 22:20:26

标签: c# .net sql-server profiling profiler

在我之前的工作中,我设计并帮助构建了一个运行时(生产)Profiler tool,除了其他很酷的功能之外,它还能为每个执行的SQL语句提供.Net堆栈跟踪。将其视为类固醇上的SQL-Server Profiler。因此,您还可以获得SQL执行的上下文,而不仅仅是查看SQL语句和持续时间。在开发以数据库为中心的应用程序时,我发现此信息是上帝发送的。

问题在于,由于这是开发的,我以前的公司已被赛门铁克收购,虽然该工具仍可下载,但很不清楚许可是什么,而且不是SKU Symnatec正在销售的。

我想知道是否有人知道任何类似的工具会给我堆栈跟踪我的SQL语句执行?

alt screenshot http://img151.imageshack.us/img151/4357/profiler1jz3.gif

这仍然没有答案,ANTS等人不这样做,只考虑回答否并接受它。

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

我们最近开始使用名为dynaTrace的工具。有一个工作站版本可以在一个盒子上使用,服务器/代理版本可以在多个盒子上运行。

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

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

非常酷,您可以查看特定方法,查看调用该方法的所有路径,或查看对方法的所有调用。您可以查看特定的数据库调用,并查看该调用的所有代码路径。

非常酷。

答案 2 :(得分:0)

我在这里发布了一个答案,汇集了几个帖子中的信息,以及一个可以用作MySQL的穷人查询监视器的应用程序:

How can I view live MySQL queries?