如何将SQL Server Profiler跟踪限制为特定数据库?我看不到如何过滤跟踪以看不到我连接到的实例上所有数据库的事件。
如何将SQL Server Profiler跟踪限制为特定数据库?我看不到如何过滤跟踪以看不到我连接到的实例上所有数据库的事件。
Answers:
在“跟踪属性”>“事件选择”选项卡下,选择“显示所有列”。现在,在列过滤器下,您应该看到数据库名称。输入“ Like”部分的数据库名称,您应该只看到该数据库的跟踪。
before
开始跟踪。如果您在之后进行操作-该字段将不可编辑!
通过实验,我能够观察到这一点:
当SQL Profiler 2005或SQL Profiler 2000与驻留在SQLServer 2000中的数据库一起使用时-提到的问题仍然存在,但是当SQL Profiler 2005与SQLServer 2005数据库一起使用时,它可以完美工作!
总之,此问题似乎在SQLServer 2000中很普遍,在SQLServer 2005中已得到纠正。
处理SQLServer 2000时,该问题的解决方案是(如wearejimbo所解释)
通过查询sysdatabases表来标识要过滤的数据库的DatabaseID,如下所示
SELECT *
FROM master..sysdatabases
WHERE name like '%your_db_name%' -- Remove this line to see all databases
ORDER BY dbid
在SQL Profiler 2000的“新建跟踪”窗口中使用DatabaseID筛选器(而不是DatabaseName)
创建一个新模板并检查DBname。使用该模板作为跟踪文件。