如何将SQL Server分析器跟踪限制到特定的数据库?我不知道如何过滤跟踪以不看到所连接的实例上所有数据库的事件。
当前回答
创建一个新模板并检查DBname。将该模板用于跟踪文件。
其他回答
在跟踪属性>事件选择选项卡>选择显示所有列。现在,在列筛选器下,您应该看到数据库名称。为Like部分输入数据库名称,您应该只看到该数据库的跟踪。
在SQL 2005中,首先需要在跟踪中显示Database Name列。最简单的方法是选择Tuning模板,该模板已经添加了该列。
假设你选择了Tuning模板,要进行筛选:
点击“事件选择”页签 点击“列筛选器”按钮 检查显示所有列(右侧向下) 选择“DatabaseName”,单击右边窗格中Like旁边的加号,并键入您的数据库名称。
我总是将跟踪保存到一个表中,这样我就可以在事后对跟踪数据进行LIKE查询。
在Trace属性中选择Event Selection选项卡。然后单击Show All Columns单选按钮。之后,单击Column Filters按钮。
现在可以看到Database Name属性并单击它。展开like框并插入您的DB名称,然后单击ok,现在就可以运行分析器了。
通过实验,我观察到:
当SQL Profiler 2005或SQL Profiler 2000与SQLServer 2000中的数据库一起使用时,上面提到的问题仍然存在,但是当SQL Profiler 2005与SQLServer 2005数据库一起使用时,它工作得很完美!
总之,这个问题似乎在SQLServer 2000中很普遍,并在SQLServer 2005中得到了纠正。
在处理SQLServer 2000时,这个问题的解决方案是(由wearejimbo解释)
通过查询如下所示的sysdatabases表,确定要筛选的数据库的DatabaseID SELECT * 从主. . sysdatabases WHERE name like '%your_db_name%'——删除这一行以查看所有数据库 dbid订购 在SQL Profiler 2000的新建跟踪窗口中使用DatabaseID筛选器(而不是DatabaseName)
创建一个新模板并检查DBname。将该模板用于跟踪文件。
推荐文章
- 等价的限制和偏移SQL Server?
- 如何从SQL Server中的字符串中剥离所有非字母字符?
- 为什么我不能在DELETE语句中使用别名?
- 多语句表值函数vs内联表值函数
- NOLOCK提示在SELECT语句中的作用
- SQL OVER()子句-它什么时候有用,为什么有用?
- 检查SQL Server登录是否已经存在
- 我如何使用ROW_NUMBER()?
- 如何检查表上持有哪些锁
- SQL Server数据库备份恢复到低版本
- SQL Server:过滤sp_who2的输出
- 在SQL Server上使用varchar(MAX) vs TEXT
- Visual Studio: ContextSwitchDeadlock
- Sql Server字符串到日期的转换
- 如何将SQL Azure数据库复制到本地开发服务器?