Sql server 使用具有“应用程序名称”列的探查器跟踪查找哪些应用程序访问我的服务器
我需要找出使用我的sql server的所有应用程序 我正在使用探查器跟踪来实现这一点(如果有其他方法,我将不胜感激) 在Profiler上,我使用了一个重播模板,在查看跟踪结果后,我看到有一列名为Application Name,我想知道是否有办法获得不同的模板(跟踪位于.trc文件中) (顺便问一下,这应该发布在stackoverflow还是serverfault上?) 谢谢, 加布里埃尔试试这个:Sql server 使用具有“应用程序名称”列的探查器跟踪查找哪些应用程序访问我的服务器,sql-server,profiler,Sql Server,Profiler,我需要找出使用我的sql server的所有应用程序 我正在使用探查器跟踪来实现这一点(如果有其他方法,我将不胜感激) 在Profiler上,我使用了一个重播模板,在查看跟踪结果后,我看到有一列名为Application Name,我想知道是否有办法获得不同的模板(跟踪位于.trc文件中) (顺便问一下,这应该发布在stackoverflow还是serverfault上?) 谢谢, 加布里埃尔试试这个: SELECT DISTINCT ApplicationName FROM ::fn_trac
SELECT DISTINCT ApplicationName
FROM ::fn_trace_gettable('C:\YourFolder\YourTraceFile.trc', DEFAULT) t
实际上,您可以在SQLServer2008的探查器中正确地执行此操作 使用以下两个事件创建跟踪:
- 安全审核:审核登录
- 安全审计:现有连接
- 事件类
- 应用程序名称
- SPID(必需)
- 事件子类
(我很确定以前的版本也是这样。我只是没有一个可以测试。)谢谢@8kb,真的很有效。有没有办法只隔离非sql应用程序(如作业、代理等)?@Gabriel-如果您知道希望在结果中看到(或看不到)的名称,可以在语句中添加WHERE子句(即WHERE ApplicationName,如“%YourApp%”),我实际上想排除sql 2000应用程序,如sqloem(enterprise manager)但问题是我不知道sql应用程序是什么。谢谢@8kb