我有一个简单的 C# 应用程序,它遍历服务器上的所有数据库,检查它们的模式。因此,它执行 a SELECT name from sys.database
,遍历那些并执行 a SELECT name from sys.tables WHERE name='Something'
。然后,如果它找到它正在寻找的表,它会进行一些查询,并对数据进行处理。
连接字符串具有应用程序名称。如果我在该应用程序名称上使用列过滤器设置跟踪,以查找启动/完成事务、启动/完成存储过程和完成语句。我看到了对实际数据库表执行的查询,但没有看到对 sys.databases 和 sys.tables 的查询。
Profiler 中没有任何东西可以阻止显示这些查询。我认为你只是没有捕捉到正确的事件。听起来您正在过滤存储过程事件。也尝试过滤 TSQL 事件。