有没有办法记录/跟踪从WCF服务发出的所有SQL查询?

All*_*ice 6 c# wcf azure-sql-database

我正在开发一个WCF服务,我希望能够在我在本地运行时获取它所做的所有SQL查询的转储.

目前它正在执行的sprocs通过众多的传播,SqlCommand所以我想得到一个运行的每个查询的列表.

我可以设置任何类型的工具或配置来记录此信息吗?通常我会使用类似SQL Profiler的东西,但我正在寻找从WCF角度运行的东西,因为我正在访问Azure数据库,而SQL Profilier将不能与Azure一起工作(afaik)

Jan*_*Jan 1

我不知道使用 SqlCommand/SqlConnection 时记录所有 sql 代码的内置方式。

我在 msdn 上找到了这篇文章:Data Access Tracing in SQL Server 2008也许它为您指明了正确的方向。

我能想到的一种更简单但不是很通用的方法是编写一个继承自 SqlCommand 的类,并将所有方法委托给真正的 SqlCommand,同时添加一些日志记录。