![是否可以追踪谁在运行 SQL Server Profiler?](https://linux22.com/image/487004/%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E8%BF%BD%E8%B8%AA%E8%B0%81%E5%9C%A8%E8%BF%90%E8%A1%8C%20SQL%20Server%20Profiler%EF%BC%9F.png)
是否可以查看谁在针对某个数据库运行 SQL Server Profiler 以及可能在哪台机器上运行?通过 Profiler 本身或通过 T-SQL 语句。
我想知道是否有可能找出运行分析器的活动直接用户名。
[更新] 作为参考,这里有一种仅检索 SQL Server 配置文件进程的方法
declare @sp_who2 table (
SPID int,
status varchar(50),
login varchar(100),
HostName varchar(100),
BlkBy varchar(100),
DBName varchar(100),
Command varchar(100),
CPUTime int,
DiskIO int,
LastBatch varchar(50),
ProgramName varchar(150),
SPID2 int,
REQUESTID int
)
insert @sp_who2
exec sp_who2
select *
from @sp_who2
where ProgramName like 'SQL Server Profiler - %'
答案1
执行
sp_who2
查看 ProgramName 列,您将看到类似 SQL Server Profiler - 362b6154-2d69-4ce0-987b-2573bed3ce45 的内容。从该查询中,您可以定义用户名和 HostName...
答案2
使用 SQL Profiler 并从应用程序名称“ ”中查找现有的连接和登录事件,SQL Server Profiler - {guid}
其中 {guid} 因运行而异(默认情况下,SQL Profiler 运行会根据其自己的应用程序名称排除自身。